1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/23323-tailwind-one

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

tailwind-one

Использование tailwindcss для быстрого создания интерфейсов (мини-приложения, H5, быстрые приложения и т.д.)

В настоящее время поддерживается postcss-7, также поддерживается версия 8

Отказ от использования этой библиотеки, рекомендуется использовать weapp-tailwindcss-webpack-plugin пожалуйста, постарайтесь перейти на неё

tailwind.config.js необходимо разместить в проекте

npx tailwindcss init # Получить минимальную конфигурацию (рекомендуется)
npx tailwindcss init --full # Получить полную конфигурацию

Основные параметры

Параметр Описание
platform Платформа, по умолчанию h5, другие значения: mp, native, web
name Конкретное имя платформы, значения: weapp, swan, alipay, tt, qq, rn, quickapp

Глобальные настройки

Поскольку мини-приложения не поддерживают символы /, .5, :, при глобальной настройке эти символы будут преобразованы следующим образом:

: заменяется на _ 
.5 заменяется на _half
/ заменяется на __
Мини-приложение mp
Удаление :hover и media
:not(template) ~ :not(template) заменяется на "view + view"
:not([hidden]) ~ :not([hidden]) заменяется на "view + view"
* заменяется на view

Установка

Установка TailWindCSS
Установка плагина
npm i tailwind-one -D

Использование

require("tailwind-one")(params);

Все параметры

{
    platform: "h5",
    name: "",
    debug: false,
    units: {
        px2rem: 1 / 37.5,
        px2rpx: 1,
        rem2rpx: 37.5,
        px2pt: 0.22,
        rpx2pt: 0.75,
        rem2pt: 28.125,
        "vw2%": 1,
        "vh2%": 1
    },
    rule: {
        web: [],
        h5: ["px2rem"],
        mp: ["px2rpx", "rem2rpx"],
        native: ["px2pt", "rem2pt", "rpx2pt", "vw2%", "vh2%"]
    },
    alias: {
        isWeixin: ["mp-weixin", "weapp"],
        isBaidu: ["mp-baidu", "swan"],
        isAli: ["mp-alipay", "alipay"],
        isToutiao: ["mp-toutiao", "tt"],
        isQQ: ["mp-qq", "qq"],
        isQuickapp: [
            "quickapp-native",
            "quickapp-webview",
            "quickapp-webview-huawei",
            "quickapp-webview-union",
            "quickapp"
        ],
        isNative: ["app-plus", "rn"]
    },
    // Обработка только значений, превышающих порог
    threshold: {
        web: 0,
        h5: 0,
        mp: 0,
        native: 0,
    },
    // Правила замены селекторов
    selectorRule: {
        ":": "_",
        ".5": "_half",
        "/": "_",
    }
}

uni-app

postcss.config.js

const path = require("path");

const PLATFORM_MAP = {
    h5: "h5",
    "mp-weixin": "mp",
    "mp-alipay": "mp",
    "mp-baidu": "mp",
    "mp-toutiao": "mp",
    "mp-qq": "mp",
    "app-plus": "native"
};

module.exports = {
    parser: require("postcss-comment"),
    plugins: [
        require("postcss-import")({
            resolve(id, basedir, importOptions) {
                if (id.startsWith("~@/")) {
                    return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3));
                } else if (id.startsWith("@/")) {
                    return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2));
                } else if (id.startsWith("/") && !id.startsWith("//")) {
                    return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1));
                }
                return id;
            }
        }),
        require("autoprefixer")({
            remove: process.env.UNI_PLATFORM !== "h5"
        }),
        require("@dcloudio/vue-cli-plugin-uni/packages/postcss"),
        // S TODO Конфигурация tailwindcss
        require("tailwindcss"),
        require("tailwind-one")({
            platform: PLATFORM_MAP[process.env.UNI_PLATFORM],
            name: process.env.UNI_PLATFORM
        })
        // E
    ]
};

taro

config/index.js

const PLATFORM_MAP = {
    h5: "h5",
    weapp: "mp",
    swan: "mp",
    alipay: "mp",
    tt: "mp",
    qq: "mp",
    quickapp: "mp",
    rn: "native"
};
const config = {
    projectName: "taro-tailwind",
    date: "2020-9-19",
    designWidth: 750,
    deviceRatio: {
        640: 2.34 / 2,
        750: 1,
        828: 1.81 / 2
    },
    sourceRoot: "src",
    outputRoot: "dist",
    plugins: [],
    defineConstants: {},
    copy: {
        patterns: [],
        options: {}
    },
    framework: "vue",
    mini: {
        postcss: {
            pxtransform: {
                enable: true,
                config: {}
            },
            url: {
                enable: true,
                config: {
                    limit: 1024 // Установка верхнего предела размера для преобразования
                }
            },
            cssModules: {
                enable: false, // По умолчанию false, для использования функции css modules установите true
                config: {
                    namingPattern: "module", // Режим преобразования, значения global/module
                    generateScopedName: "[name]__[local]___[hash:base64:5]"
                }
            },
            // S TODO Конфигурация tailwindcss
            tailwindcss: {
                enable: true
            },
            "tailwind-one": {
                enable: true,
                config: {
                    platform: PLATFORM_MAP[process.env.TARO_ENV],
                    name: process.env.TARO_ENV
                }
            }
            // E
        }
    },
    h5: {
        publicPath: "/",
        staticDirectory: "static",
        postcss: {
            autoprefixer: {
                enable: true,
                config: {}
            },
            cssModules: {
                enable: false, // По умолчанию false, для использования функции css modules установите true
                config: {
                    namingPattern: "module", // Режим преобразования, значения global/module
                    generateScopedName: "[name]__[local]___[hash:base64:5]"
                }
            },
            // S TODO Конфигурация tailwindcss
            tailwindcss: {
                enable: true
            },
            "tailwind-one": {
                enable: true,
                config: {
                    platform: "h5",
                    name: "h5"
                }
            }
            // E
        }
    }
};

module.exports = function (merge) {
    if (process.env.NODE_ENV === "development") {
        return merge({}, config, require("./dev"));
    }
    return merge({}, config, require("./prod"));
};

remax

// https://remaxjs.org/guide/config/postcss
// postcss.config.js
module.exports = ({options}) => ({
    plugins: {
        // Добавление tailwind
        autoprefixer: {
            remove: process.env.REMAX_PLATFORM !== 'web'
        },
        tailwindcss: {},
        "tailwind-one": {
            platform: process.env.REMAX_PLATFORM !== 'web' ? "mp" : "h5",
            name: process.env.REMAX_PLATFORM
        },
        [process.env.NODE_ENV === "production" ? "@fullhuman/postcss-purgecss" : '']: {
            content: ['./src/**/*.tsx', './src/**/*.js']
        },
        // Наследование стандартной конфигурации плагинов remax
        ...options.plugins,
    },
});

Нативная поддержка

Из-за отсутствия опыта в нативной разработке, в настоящее время единицы измерения преобразуются по схеме 1px = 0.75pt. Требуется доработка.

Тестирование

yarn test [platform] [name]

Часто задаваемые вопросы

  • Как задать размер для преобразования rem в h5?
    • Необходимо самостоятельно установить font-size для html. Обычно используется дизайн с разрешением 750.
    • В вышеприведённых примерах для taro, remax и uniapp настроена конвертация html.
  • Как избежать преобразования px в rem?
    • PX не будут преобразованы.
    • Можно установить пороговое значение, при котором преобразование будет выполняться только для значений, превышающих порог. Например, threshold: {h5: 10} означает, что в h5 значения CSS меньше 10px не будут преобразованы в rem.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Устарело! Используйте следующее для github.com/sonofmagic/weapp-tailwindcss-webpack-plugin: Запуск Tailwind в小程序 (WeChat Mini Program, Toutiao Mini Program, Ali Mini Program, Taro, Remax, UniApp и т. д.), веб-версии (web), HTML5-версии (h5) и нативных версиях (native)! Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/23323-tailwind-one.git
git@api.gitlife.ru:oschina-mirror/23323-tailwind-one.git
oschina-mirror
23323-tailwind-one
23323-tailwind-one
master