当前位置: 首页 > news >正文

uniapp,vite整合windicss

官方文档:https://weapp-tw.icebreaker.top/docs/quick-start/frameworks/hbuilderx

安装:

npm i -D tailwindcss postcss autoprefixer
# 初始化 tailwind.config.js 文件
npx tailwindcss init


npm i -D weapp-tailwindcss

# 假如 tailwindcss 在 weapp-tailwindcss 之后安装,可以手动执行一下 patch 方法
# npx weapp-tw patch

然后把下列脚本,添加进你的 package.json 的 scripts 字段里:

 "scripts": {
   "postinstall": "weapp-tw patch"
 }

添加tailwind.config.js文件:

const path = require("path");

const resolve = (p) => {
  return path.resolve(__dirname, p);
};
/** @type {import('tailwindcss').Config} */
module.exports = {
  // 注意此处,一定要 `path.resolve` 一下, 传入绝对路径
  // 你要有其他目录,比如 components,也必须在这里,添加一下
  content: ["./index.html", "./pages/**/*.{html,js,ts,jsx,tsx,vue}"].map(resolve),
  // ...
  corePlugins: {
    // 跨多端可以 h5 开启,小程序关闭
    preflight: false,
  },
};

vite.config.js 中注册windicss

import path from "path";
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from "weapp-tailwindcss/vite";
// 注意: 打包成 h5 和 app 都不需要开启插件配置
const isH5 = process.env.UNI_PLATFORM === "h5";
const isApp = process.env.UNI_PLATFORM === "app";
const WeappTailwindcssDisabled = isH5 || isApp;

const resolve = (p) => {
  return path.resolve(__dirname, p);
};

export default defineConfig({
  plugins: [
    uni(), 
    uvwt({
      rem2rpx: true,
      disabled: WeappTailwindcssDisabled,
      // 由于 hbuilderx 会改变 process.cwd 所以这里必须传入当前目录的绝对路径
      tailwindcssBasedir: __dirname
    })
  ],
  css: {
    postcss: {
      plugins: [
        require("tailwindcss")({
          // 注意此处,手动传入你 `tailwind.config.js` 的绝对路径
          config: resolve("./tailwind.config.js"),
        }),
        require("autoprefixer"),
      ],
    },
  },
});

在app.vue的style中引入windicss

  @import 'tailwindcss/base';
  @import 'tailwindcss/utilities';
vite整合windicss
npm i -D vite-plugin-windicss windicss

引入插件
在这里插入图片描述

import vue from '@vitejs/plugin-vue'

import createAutoImport from './auto-import'
import createSvgIcon from './svg-icon'
import createCompression from './compression'
import createSetupExtend from './setup-extend'
import WindiCSS from 'vite-plugin-windicss'

export default function createVitePlugins(viteEnv, isBuild = false) {
    const vitePlugins = [vue()]
    vitePlugins.push(createAutoImport())
	vitePlugins.push(createSetupExtend())
    vitePlugins.push(createSvgIcon(isBuild))
    vitePlugins.push(WindiCSS())
	isBuild && vitePlugins.push(...createCompression(viteEnv))
    return vitePlugins
}

http://www.dtcms.com/a/12469.html

相关文章:

  • uniapp vite3 require导入commonJS 的js文件方法
  • 华为 HCIP-Datacom H12-821 题库 (12)
  • 原型模式prototype
  • 智能语音交互:人工智能如何改变我们的沟通方式?
  • 前端:JavaScript 实现类
  • shader 案例学习笔记之smoothstep函数
  • csdn上传md,图片转存失败
  • git解决同时编辑一个文件的冲突
  • [建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
  • MybatisX-Generator自动代码生成插件
  • 简单比较 http https http2,我们要如何把http升级为https
  • 旋转轴唇形密封圈的特点和优点
  • java重点学习-RabbitMQ+Kafka
  • 解决Mybatis mappe同时传递 List 和其他参数报错
  • 学期计划大二上
  • 利士策分享,克服生活中的困难:走好勇攀高峰的每一步
  • kitti数据点云velo坐标转像素坐标与点云深度值计算方法与教程(代码实现)
  • 【AIGC】探索超凡记忆:SuperMemory,你的私人智能书签助手!
  • MySQL——视图(三)应用实例——视图的应用
  • 声学气膜:专利守护与创新力量,不容侵权—轻空间
  • 华为OD机试真题 - 抢7游戏(Python/JS/C/C++ 2024 D卷 100分)
  • 间隙锁对数据库并发性能的影响
  • 扑捉一只耿鬼(HTML文件)
  • blender云渲染来了,blender云渲染教程!
  • Java面试题总结-基础和框架-面试题一
  • 微课录制技巧|高效录制微课的方法,如何高效录制微课?
  • 数据库设计中的需求分析
  • 第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)
  • 大模型之三十-语音合成TTS(coqui)
  • 学习node.js十三,文件的上传于下载