UniApp配置使用原子化tailwindcss

参考视频

创建项目

新建项目选择uniapp - vue版本这里我选择3 - 点击创建即可

创建完成后,如果是要编译到小程序的项目则可以先将项目运行到小程序打开了

初始化package.json

执行

js 复制代码
npm init -y

安装和配置

安装

bash 复制代码
npm i -D tailwindcss postcss autoprefixer
# 安装完成后再初始化 tailwind.config.js 文件
npx tailwindcss init

配置

在项目目录下创建 shared.js,代码如下,为了保证后面这个方法可以复用

js 复制代码
import path from 'path'

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

module.exports = {
	resolve
}

在项目根目录下创建vite.config.js,用于注册引用tailwindcss,代码如下:

js 复制代码
import {
	defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {
	resolve
} from './shared.js'

export default defineConfig({
	plugins: [uni()],
	css: {
		postcss: [
			require('tailwindcss')({
				config: resolve("./tailwind.config.js")
			}),
			require('autoprefixer')()
		]
	}
});

找到项目根目录下的 tailwind.config.js,这个在上面有初始化命令的,内容更改如下:

js 复制代码
const {
	resolve
} = require('./shared.js')

module.exports = {
	// 这里给出了一份 uni-app /taro 通用示例,具体要根据你自己项目的目录结构进行配置
	// 不在 content 包括的文件内,你编写的 class,是不会生成对应的css工具类的
	content: ['./public/index.html', './pages/**/*.{html,js,ts,jsx,tsx,vue}','./components/**/*.{html,js,ts,jsx,tsx,vue}'].map(resolve),
	// 其他配置项
	// ...
	corePlugins: {
		// 小程序不需要 preflight,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它
		preflight: false
	}
}

找到App.vue,配置tailwindcss全局生效

js 复制代码
<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style>
	@tailwind base;
	@tailwind components;
	@tailwind utilities;
</style>

插件安装

js 复制代码
npm i -D weapp-tailwindcss

安装完成后,在package.json里面配置如下命令

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

注册

找到根目录下的vite.config.js,内容如下:

js 复制代码
import {
	defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {
	resolve
} from './shared.js';
import {
	UnifiedViteWeappTailwindcssPlugin as uvwt
} from "weapp-tailwindcss/vite";

export default defineConfig({
	plugins: [uni(), uvwt({
		// 由于 hbuilderx 会改变 process.cwd 所以这里必须传入当前目录的绝对路径
		// 上面参考视频没有这一个,但是不加的话会报错
		tailwindcssBasedir: __dirname
	})],
	css: {
		postcss: {
			plugins: [
				require('tailwindcss')({
					config: resolve("./tailwind.config.js")
				}),
				require('autoprefixer')()
			]
		}
	}
});

然后运行项目到浏览器或者小程序都是正常使用的了

相关推荐
草字2 小时前
uniapp 滚动到表单的某个位置,表单验证失败时。
前端·javascript·uni-app
脾气有点小暴3 小时前
uniapp通用单张图片上传组件
前端·javascript·vue.js·uni-app·uniapp
郑州光合科技余经理4 小时前
技术架构:跑腿配送系统海外版源码全解析
java·开发语言·前端·数据库·架构·uni-app·php
2501_915918414 小时前
Flutter 加固方案全解析,从 Dart 层到 IPA 成品的多工具协同防护体系
flutter·macos·ios·小程序·uni-app·cocoa·iphone
metaRTC5 小时前
webRTC IPC客户端UniApp版编程指南
uni-app·webrtc·ipc
刻刻帝的海角5 小时前
基于UniApp与Vue3语法糖的跨平台待办事项应用开发实践
javascript·vue.js·uni-app
qq_334734765 小时前
uniapp uvew2 upload compressorjs 压缩图片
uni-app
q_19132846956 小时前
基于Springboot+uniapp的智慧停车场收费小程序
java·vue.js·spring boot·小程序·uni-app·毕业设计·计算机毕业设计
灵犀坠6 小时前
前端面试&项目实战核心知识点总结(Vue3+Pinia+UniApp+Axios)
前端·javascript·css·面试·职场和发展·uni-app·html
2501_916007476 小时前
深入理解 iOS 文件管理体系,从沙盒结构到多工具协同的工程化文件管理实践
android·ios·小程序·https·uni-app·iphone·webview