微信小程序使用 Tailwind CSS version 3

可复制直接丢入 AI 运行

检查 package.json 文件

如果目录下,没有 package.json 文件, 需要执行命令,或者手动创建一下:

运行 npm init -y

使用包管理器安装 tailwindcss

kotlin 复制代码
# 安装 tailwindcss@3 版本的依赖
npm i -D tailwindcss@3 postcss autoprefixer
csharp 复制代码
# 初始化 tailwind.config.js 文件
npx tailwindcss init

在项目目录下创建 postcss.config.js 并注册 tailwindcss

java 复制代码
// 假如你使用的框架/工具不支持 postcss.config.js 配置文件,则可以使用内联的写法
module.exports = {
  plugins: {
    tailwindcss: {},
    // 假如框架已经内置了 `autoprefixer`,可以去除下一行
    autoprefixer: {},
  }
}

配置 tailwind.config.js

java 复制代码
/** @type {import('tailwindcss').Config} */
module.exports = {
    content: [
      // 添加你需要提取的文件目录
      'components/**/*.{wxml,js,ts}',
      'pages/**/*.{wxml,js,ts}',
      // 不要使用下方的写法,这会导致 vite 开发时监听文件数量爆炸
      // '**/*.{js,ts,wxml}', '!node_modules/**', '!dist/**'
    ],
    // 假如你使用 ts 模板,则可以使用下方的配置
    // content: ['miniprogram/**/*.{ts,js,wxml}'],
    corePlugins: {
      // 小程序不需要 preflight 和 container,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它
      preflight: false,
      container: false,
    }
  }

引入 tailwindcss

在你的小程序项目入口 app.wxss 文件中,引入 tailwindcss 使它在小程序全局生效

less 复制代码
/**app.wxss**/
@tailwind base;
@tailwind components;
@tailwind utilities;

app.wxss 加入这一段代码之后,微信开发者工具会报错,因为还没有完全配置好。

安装 weapp-tailwindcss 插件并运行

arduino 复制代码
npm install -D 'weapp-tailwindcss@^3' 'weapp-vite@^3'

执行初始化命令

csharp 复制代码
npx weapp-vite init

这个命令会对现有的原生小程序项目,进行 weapp-vite 的初始化

执行后,会发现主要有许多文件改动,CLI 主要做了 3 件事情:

  • 创建 vite.config.ts 文件,这个是 weapp-vitevite 的配置文件
  • 修改 package.json, 添加 devbuild 开发和构建脚本,还有构建 npm 和打开微信开发者工具
  • 修改 project.config.json 内容,来适配构建产物
  • 添加适配 vite 的 dtstsconfig.json

安装所有的依赖包

在执行完成 weapp-vite init 初始化命令之后,需要在项目里执行一下安装命令:

css 复制代码
npm i

注册插件

package.json 添加下列脚本:

json 复制代码
{  "scripts": {    "postinstall": "weapp-tw patch"  }}

vite.config.ts 里对插件进行注册:

javascript 复制代码
import { defineConfig } from 'weapp-vite/config'
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from 'weapp-tailwindcss/vite'

export default defineConfig({
  plugins: [
    uvwt({
      rem2rpx: true,
    }),
  ],
})

开始运行

使用 npm run dev 进入开发模式, 此模式带有热更新的,主要用于开发

使用 npm run build 进行构建

原生组件样式的隔离性

提示

发现很多用户,在使用原生开发的时候,经常会问,为什么 tailwindcss 样式对自定义组件不生效。

这可能有以下几个原因:

  1. 代码文件不在 tailwind.config.jscontent 配置内
  2. 原生小程序组件是默认开启 组件样式隔离 的,默认情况下,自定义组件的样式只受到自定义组件 wxss 的影响。而 tailwindcss 生成的工具类,都在 app.wxss 这个全局样式文件里面。不属于组件内部,自然不生效。

这时候可以在你组件的 json 文件配置中,设置下面一行 styleIsolation 来开启样式共享:

json 复制代码
{  "styleIsolation": "apply-shared"}

apply-shared 表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面;

来让组件应用到 app.wxss 里的样式。

相关推荐
0思必得07 小时前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
东东5167 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino7 小时前
图片、文件的预览
前端·javascript
layman05289 小时前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔9 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李9 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN9 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒9 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库9 小时前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
电商API_180079052479 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫