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')()
			]
		}
	}
});

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

相关推荐
喵喵虫9 小时前
uniapp修改封装组件失败 styleIsolation
uni-app
游戏开发爱好者820 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
2501_915106321 天前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
2501_915106321 天前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
宠友信息1 天前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
“负拾捌”1 天前
python + uniapp 结合腾讯云实现实时语音识别功能(WebSocket)
python·websocket·微信小程序·uni-app·大模型·腾讯云·语音识别
局外人LZ2 天前
Uniapp脚手架项目搭建,uniapp+vue3+uView pro+vite+pinia+sass
前端·uni-app·sass
2501_915918412 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
前端呆头鹅2 天前
Websocket使用方案详解(uniapp版)
websocket·网络协议·uni-app
浮桥2 天前
uniapp+h5 公众号实现分享海报绘制
uni-app·notepad++