微信小程序使用tailwindcss

第一次尝试成功,可以使用部分基础类属性

1、新建一个项目目录,再在目录里新建小程序项目。

2、整个项目使用vscode打开,npm init 初始化npm。

3、安装tailwind、postcss autoprefixer

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest

4、创建自定义配置文件

npx tailwindcss init

5、配置模板路径

// tailwind.config.js
module.exports = {
  content: ["./miniprogram/**/*.{wxml,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
  corePlugins: {
    preflight: false
  }
}

6、根目录创建tailwind.css文件

/* 前两项用不到,注释掉*/
/*
@tailwind base;
@tailwind components;
*/
@tailwind utilities;

7、执行命令生成 css

npx tailwindcss --no-autoprefixer -i ./tailwind.css -o ./miniprogram/tailwind.wxss --watch

--no-autoprefixer:不需要生成各浏览器内核前缀

/* app.wxss */
@import './tailwind.wxss'

8、新建 postcss.config.js 文件,注册:

module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  }
}

9、配置 rem 转 rpx

npm i -D postcss-rem-to-responsive-pixel

注册进 postcss.config.js

// postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
    'postcss-rem-to-responsive-pixel': {
      // 转化的单位,可以变成 px / rpx
      transformUnit: 'rpx',
      // 32 意味着 1rem = 32rpx
      rootValue: 32,
      // 默认所有属性都转化
      propList: ['*']
    },
  },
};

安装 tailwindcss-rem2px-preset

npm i -D tailwindcss-rem2px-preset

注册进 tailwind.config.js

// tailwind.config.js

module.exports = {
  presets: [
    require('tailwindcss-rem2px-preset').createPreset({
      // 32 意味着 1rem = 32rpx
      fontSize: 32,
      // 转化的单位,可以变成 px / rpx
      unit: 'rpx'
    })
  ],
  // ...
}

 

安装插件 tailwindcss-miniprogram-preset

npm i -D tailwindcss-miniprogram-preset

配置 tailwind.config.js

// tailwind.config.js

const {
  defaultPreset,
  createPreset
} = require('tailwindcss-miniprogram-preset')

/** @type {import('tailwindcss').Config} */
module.exports = {
  presets: [
        defaultPreset,
         // ... 
    ]
}

然后就可以对 / 和 . 做rename处理

formtosample
/ -div- w-1/4 -> w-1-div-4
. -dot- w-1.5 -> w-1-dot-5

 

 

 

 

暂不支持 [ ]
暂不支持 '*, ::before, ::after'
暂不支持 hover: focus:
暂不支持 :not

 


如果开发时,HMR 热更新不起作用,可以更改 purge 选项

也可以直接用自定义的 purge 选项, 覆盖当前 preset

// tailwind.config.js
const { defaultPreset } = require('tailwindcss-miniprogram-preset')

/** @type {import('@types/tailwindcss/tailwind-config').TailwindConfig} */
module.exports = {
  purge: defaultPreset.purge.content,
  presets: [defaultPreset]
}

 


 

有个插件 weapp-tailwindcss-webpack-plugin 可以实现,但是文档还看不明白,我研究会了再来更新。

posted @ 2023-07-11 16:21  deajax  阅读(1167)  评论(0编辑  收藏  举报