uniapp,vite整合windicss

饭宝  论坛元老 | 2024-9-11 12:54:56 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1659|帖子 1659|积分 4977

官方文档:https://weapp-tw.icebreaker.top/docs/quick-start/frameworks/hbuilderx
安装:
  1. npm i -D tailwindcss postcss autoprefixer
  2. # 初始化 tailwind.config.js 文件
  3. npx tailwindcss init
  4. npm i -D weapp-tailwindcss
  5. # 假如 tailwindcss 在 weapp-tailwindcss 之后安装,可以手动执行一下 patch 方法
  6. # npx weapp-tw patch
复制代码
然后把下列脚本,添加进你的 package.json 的 scripts 字段里:
  1. "scripts": {
  2.    "postinstall": "weapp-tw patch"
  3. }
复制代码
添加tailwind.config.js文件:
  1. const path = require("path");
  2. const resolve = (p) => {
  3.   return path.resolve(__dirname, p);
  4. };
  5. /** @type {import('tailwindcss').Config} */
  6. module.exports = {
  7.   // 注意此处,一定要 `path.resolve` 一下, 传入绝对路径
  8.   // 你要有其他目录,比如 components,也必须在这里,添加一下
  9.   content: ["./index.html", "./pages/**/*.{html,js,ts,jsx,tsx,vue}"].map(resolve),
  10.   // ...
  11.   corePlugins: {
  12.     // 跨多端可以 h5 开启,小程序关闭
  13.     preflight: false,
  14.   },
  15. };
复制代码
vite.config.js 中注册windicss
  1. import path from "path";
  2. import { defineConfig } from "vite";
  3. import uni from "@dcloudio/vite-plugin-uni";
  4. import { UnifiedViteWeappTailwindcssPlugin as uvwt } from "weapp-tailwindcss/vite";
  5. // 注意: 打包成 h5 和 app 都不需要开启插件配置
  6. const isH5 = process.env.UNI_PLATFORM === "h5";
  7. const isApp = process.env.UNI_PLATFORM === "app";
  8. const WeappTailwindcssDisabled = isH5 || isApp;
  9. const resolve = (p) => {
  10.   return path.resolve(__dirname, p);
  11. };
  12. export default defineConfig({
  13.   plugins: [
  14.     uni(),
  15.     uvwt({
  16.       rem2rpx: true,
  17.       disabled: WeappTailwindcssDisabled,
  18.       // 由于 hbuilderx 会改变 process.cwd 所以这里必须传入当前目录的绝对路径
  19.       tailwindcssBasedir: __dirname
  20.     })
  21.   ],
  22.   css: {
  23.     postcss: {
  24.       plugins: [
  25.         require("tailwindcss")({
  26.           // 注意此处,手动传入你 `tailwind.config.js` 的绝对路径
  27.           config: resolve("./tailwind.config.js"),
  28.         }),
  29.         require("autoprefixer"),
  30.       ],
  31.     },
  32.   },
  33. });
复制代码
在app.vue的style中引入windicss
  1.   @import 'tailwindcss/base';
  2.   @import 'tailwindcss/utilities';
复制代码
vite整合windicss

  1. npm i -D vite-plugin-windicss windicss
复制代码
引入插件

  1. import vue from '@vitejs/plugin-vue'
  2. import createAutoImport from './auto-import'
  3. import createSvgIcon from './svg-icon'
  4. import createCompression from './compression'
  5. import createSetupExtend from './setup-extend'
  6. import WindiCSS from 'vite-plugin-windicss'
  7. export default function createVitePlugins(viteEnv, isBuild = false) {
  8.     const vitePlugins = [vue()]
  9.     vitePlugins.push(createAutoImport())
  10.         vitePlugins.push(createSetupExtend())
  11.     vitePlugins.push(createSvgIcon(isBuild))
  12.     vitePlugins.push(WindiCSS())
  13.         isBuild && vitePlugins.push(...createCompression(viteEnv))
  14.     return vitePlugins
  15. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表