uniapp-tailwind-uview-starter
背景:之前用
uniapp
+
uview
开发了一大一小两个小程序,
css
方案用的原子风格的,发现用的还是挺爽的,就在想能不能用上
tailwindcss
,研究之后发现用
Hbuilder
创建的自由度比较低,于是选择了用
Vue-cli4
搭建了一套。
项目地址
uniapp-tailwind-uview-starter
项目初始化
在Webstorm中或者Vscode中开发uniapp
我选择了默认模板。
我的Webstorm默认使用
pnpm
包管理,这是第一个坑,启动项目时报错,于是
rm -rf node_modules
,重新使用
yarn
安装依赖,然后
npm serve
正常启动。
第二个坑是要求
Webstorm
设置
Nodejs v12
以上,否则
tailwind
不会智能提示。
如果是想要启动微信小程序的话,选择
dev:mp-weixin
,然后进入微信开发者工具选择
dist
包
安装tailwindcss
主要安装如下依赖,因为一些Bug,我锁定了
autoprefixer
的版本为
8.0.0
`yarn add tailwindcss autoprefixer postcss`
添加配置
- 添加
,配置较多,可以前往项目查看tailwind.config.js
- 添加
postcss.config.js
`const path = require('path')` `module.exports = {` `// syntax: "postcss-scss",` `parser: require('postcss-comment'),` `plugins: [` `require('postcss-import')({` `resolve (id, basedir, importOptions) {` `if (id.startsWith('~@/')) {` `return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))` `} else if (id.startsWith('@/')) {` `return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))` `} else if (id.startsWith('/') && !id.startsWith('//')) {` `return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))` `}` `return id` `}` `}),` `require('@dcloudio/vue-cli-plugin-uni/packages/postcss'),` `require("tailwindcss")({ config: "./tailwind.config.js" }),` `require('autoprefixer')({` `remove: process.env.UNI_PLATFORM !== 'h5'` `}),` `require("postcss-class-rename")({` `"\\\\:": "--",` `"\\\\/": "_",` `}),` `]` `}`
- 新建styles文件夹,新增
,并在tailwind.css
中引入main.js
`import "@/style/tailwind.css"; // main.js`
@tailwind base;
@tailwind components;
@tailwind utilities;
- 配置
,可以设置jsconfig.json
别名alias
`{` `"compilerOptions": {` `"baseUrl": ".",` `"paths": {` `"@/*": ["src/*"]` `}` `},` `"exclude": ["node_modules", "dist"]` `}`
- 配置
ESLint
`globals: {` `/**/` `uni: true, // 避免全局uni.xx报错` `},`
此时已经可以启动项目了查看效果了
安装Uview
官方文档
坑:
- 官方第2、3步:
改为@import "uview-ui/index.scss";
uview前面增加@import "~uview-ui/index.scss";
~
- 第4步,我们是npm方式,npm安装的方式无需"@/"
- uview没有代码提示,需要新增一个uview-comp.js,全部引入注册,不需要引入main.js,因为只是为了代码提示。
效果
![image-20210403141354957](/Users/lvzongyuan/Library/Application Support/typora-user-images/image-20210403141354957.png)