在 HBuilderX 中使用 tailwindcss
在 HBuilderX 中使用 tailwindcss
!!!建议直接看项目 https://github.com/sonofmagic/uni-app-vue2-tailwind-hbuilder-template 模板
因为后续又做了一些兼容性改动,但是文章里面没有提及,比如 postcss 配置现在为了适配多端有些变化啥的。
- 在 HBuilderX 中使用 tailwindcss
- 前言
- 快速使用模板
- 从 0 到 1 的搭建过程
- vue2 版本
- package.json
- vue.config.js
- postcss.config.js
- tailwind.config.js
- 在
App.vue
中引入tailwindcss
- vue3 版本
- package.json
- vite.config.js
- tailwind.config.js
- 在
App.vue
中引入tailwindcss
- vue2 版本
- 其他配置
- .gitignore
- HbuilderX 智能提示工具
- 关联项目
- 插件核心
- CLI 工具
- 模板 template
- 预设 tailwindcss preset
- Bugs & Issues
前言
之前我写了一个 weapp-tailwindcss-webpack-plugin
来兼容 uni-app
,taro
等等各个框架,不过那时候提供的 demo
都是 cli
版本的。最近社区里有同学问我, HBuilderX
要如何使用?
今天就给大家带来 HBuilderX
中 vue2
和 vue3
各自的 tailwindcss
的使用方法。
快速使用模板
如果你只想直接使用,而不在意 从 0 到 1 的搭建过程的话,你可以直接使用这 2
个模板。
uni-app-vue2-tailwind-hbuilder-template
uni-app-vue3-tailwind-hbuilder-template
下载下来后,先本地 npm i
/yarn
安装一下依赖,然后就可以直接导入 HBuilderX
使用了。
从 0 到 1 的搭建过程
vue2 版本
vue2
版本的uni-app
内置的webpack
版本为4
,postcss
版本为7
, 所以还是只能使用@tailwindcss/postcss7-compat
版本。
package.json
新建一个vue2 uni-app
项目,然后我们 npm init -y
在项目根目录创建一个 package.json
,并安装依赖:
{"devDependencies": {"autoprefixer": "9","postcss": "7","postcss-rem-to-responsive-pixel": "^5.1.3","tailwindcss": "npm:@tailwindcss/postcss7-compat","weapp-tailwindcss-webpack-plugin": "^1.6.8","webpack": "npm:webpack@webpack-4"}
}
vue.config.js
然后添加 vue.config.js
文件,注册 weapp-tailwindcss-webpack-plugin
:
// 为了 tailwindcss jit 开发时的热更新
if (process.env.NODE_ENV === "development") {process.env.TAILWIND_MODE = "watch";
}const {UniAppWeappTailwindcssWebpackPluginV4,
} = require("weapp-tailwindcss-webpack-plugin");/*** @type {import('@vue/cli-service').ProjectOptions}*/
const config = {//....configureWebpack: {plugins: [new UniAppWeappTailwindcssWebpackPluginV4()],},//....
};module.exports = config;
postcss.config.js
然后再添加 postcss.config.js
const path = require("path");module.exports = {plugins: [require("autoprefixer")({remove: process.env.UNI_PLATFORM !== "h5",}),require("tailwindcss")({config: path.resolve(__dirname, "./tailwind.config.js"),}),// rem 转 rpxrequire("postcss-rem-to-responsive-pixel/postcss7")({rootValue: 32,propList: ["*"],transformUnit: "rpx",}),],
};
这里特别注意,在声明所有路径时,必须声明为绝对路径!!!
因为 hbuilderx
有这样一个读取配置的策略:如果目标目录是相对路径,就会读取 '\HBuilderX\plugins\uniapp-cli\'
目录下的文件,这直接导致配置找不到,导致项目无法启动。
tailwind.config.js
接着我们添加 tailwind.config.js
const path = require("path");
const resolve = (p) => {return path.resolve(__dirname, p);
};/** @type {import('@types/tailwindcss/tailwind-config').TailwindConfig} */
module.exports = {mode: "jit",purge: {content: [resolve("./index.html"),resolve("./pages/**/*.{vue,js,ts,jsx,tsx,wxml}"),],},darkMode: false, // or 'media' or 'class'theme: {extend: {},},variants: {},plugins: [],corePlugins: {preflight: false,},
};
同样,content
也必须为绝对路径。
在 App.vue
中引入 tailwindcss
最后只需在 App.vue
引入即可:
<style lang="scss">
/*每个页面公共css */
@import "tailwindcss/base";
@import "tailwindcss/utilities";
</style>
现在,你就可以在 hbuilder
的vue2
项目中愉快的使用 tailwindcss
了!
vue3 版本
uni-app
的vue3/vite
版本,使用了rollup base
的插件。
暂时不要升级到vite 3.x
版本,目前uni-app
并没有兼容这个版本,详见 Release Notes, 安装2.x
版本的最新即可。(3.x
会报process is not defined
的错误)
package.json
我们 npm init -y
在项目根目录创建一个 package.json
,并安装依赖:
{"devDependencies": {"autoprefixer": "^10.4.8","postcss": "^8.4.14","postcss-rem-to-responsive-pixel": "^5.1.3","tailwindcss": "^3.1.7","weapp-tailwindcss-webpack-plugin": "^1.6.10"}
}
vite.config.js
然后添加 vite.config.js
文件,注册 weapp-tailwindcss-webpack-plugin
:
import path from "path";
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import vwt from "weapp-tailwindcss-webpack-plugin/vite";
import postcssWeappTailwindcssRename from "weapp-tailwindcss-webpack-plugin/postcss";const isH5 = process.env.UNI_PLATFORM === "h5";// vite 插件配置,注意一定要把 uni 注册在 vwt 前
const vitePlugins = [uni()];const resolve = (p) => {return path.resolve(__dirname, p);
};const postcssPlugins = [require("autoprefixer")(),require("tailwindcss")({config: resolve("./tailwind.config.js"),}),
];
if (!isH5) {vitePlugins.push(vwt());postcssPlugins.push(postcssWeappTailwindcssRename({}));
}
// https://vitejs.dev/config/
export default defineConfig({plugins: vitePlugins,css: {postcss: {// 内联写法plugins: postcssPlugins,},},
});
tailwind.config.js
添加 tailwind.config.js
:
const path = require("path");
const resolve = (p) => {return path.resolve(__dirname, p);
};
/** @type {import('tailwindcss').Config} */
module.exports = {content: ["./index.html", "./**/*.vue"].map(resolve),theme: {extend: {},},plugins: [],corePlugins: {preflight: false,},
};
下面这点在上面的 vue2
中也提到了,我再重复一遍
这里特别注意,在声明所有路径时,必须声明为绝对路径!!!
因为 hbuilderx
有这样一个读取配置的策略:如果目标目录是相对路径,就会读取 '\HBuilderX\plugins\uniapp-cli\'
目录下的文件,这直接导致配置找不到,导致项目无法启动。
在 App.vue
中引入 tailwindcss
<style lang="scss">
/*每个页面公共css */
@import "tailwindcss/base";
@import "tailwindcss/utilities";
</style>
现在,你就可以在 hbuilderx
的 vue3
项目中愉快的使用 tailwindcss
了!
其他配置
.gitignore
unpackage
node_modules
.hbuilderx
HbuilderX 智能提示工具
DCloud-HBuilderX团队提供了对应的插件,可以去
https://ext.dcloud.net.cn/plugin?id=8560 进行下载,即可产生智能提示。
关联项目
插件核心
weapp-tailwindcss-webpack-plugin 提供核心转义功能
CLI 工具
weapp-ide-cli: 一个微信开发者工具命令行,快速方便的直接启动 ide 进行登录,开发,预览,上传代码等等功能。
模板 template
uni-app-vite-vue3-tailwind-vscode-template
uni-app-vue3-tailwind-vscode-template
uni-app-vue2-tailwind-vscode-template
weapp-native-mina-tailwindcss-template
uni-app-vue2-tailwind-hbuilder-template
uni-app-vue3-tailwind-hbuilder-template
预设 tailwindcss preset
tailwindcss-miniprogram-preset
Bugs & Issues
欢迎提交到此处
在 HBuilderX 中使用 tailwindcss相关推荐
- HBuilderX中创建的项目在手机模拟器上面运行
首先在官网下载一个手机模拟器,安装完成以后,我们在HBuilderX中,选择工具栏的工具->设置->运行配置,配置Android模拟器端口为7555. 我们在HBuilderX中打开一个项 ...
- 如何为HBuilderX安装sass?HBuilderX中如何使用sass?
1,访问插件页面:scss/sass编译 - DCloud 插件市场 2,点击这个按钮完成登录或注册 3,登录完成后,页面提示"是否打开HBuilderX吗?"--是 4,HBui ...
- HbuilderX中 真机调试 Android IOS
文章目录 一.Android 二.IOS 2.1. 运行到IOS 2.2. 打开调试模式 一.Android HbuilderX中 Android 真机调试 二.IOS 2.1. 运行到IOS 2.2 ...
- (二)01- DCloud平台 HTML5+ App开发——真机调试运行 夜神模拟器运行HBuilderX中的html文件 夜神模拟器运行App的基础功能示例-手机设备-分享功能-拍照功能
DCloud 平台 HTML5 + App 开发 下载安装 HBuilderX 下载地址:https://www.dcloud.io/hbuilderx.html HBuilderX-使用步骤: 第一 ...
- HbuilderX中新建MUI下的移动端App
简介: (1)HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同 ...
- Vue中使用tailwindcss
一.下载tailwindcss npm install tailwindcss 二.引入tailwindcss 创建样式文件夹,或在现有文件夹引入,例如style/index.css @import ...
- hbuilderx适配Android11,小米11在HBuilderX中真机联调问题
(1) 问题:为检测到手机或模拟器 解决:手机开启usb调试 (2) 安装HBuilder基座App失败 10:33:50.398 正在编译中... 10:34:09.363 DONE Build c ...
- vue3 + vite + ts + setup , 第十二练 Vue3 css style 新特性,样式穿透,插槽选择器,全局选择器,在vue3中使用tailwindcss
一.vue3.x 样式新特性 样式穿透 深度选择器 <style scoped> .a :deep(.b) {/* ... */ } </style> 插槽选择器 <s ...
- 在HbuilderX中实现微信小程序下蓝牙连接打印机完整实战案例
1.基础开发环境,所用到的 Api 以及实现的思路. 应用场景: 商家打印小票,小票包含顾客消费的商品明细信息以及末尾附上二维码,二维码供顾客扫码开票. HbuilderX开发工具: HBuilder ...
最新文章
- 卷积神经网络(Convolutional Neural Network, CNN)
- $.ajax 的async参数在crossdomain跨站下的问题
- 角色操作-角色添加流程分析
- linux kdb内核调试器,使用KDB调试工具
- python制作 whl 源文件,并制作本地pip源
- 【转载】"library not found for - "解决办法
- c语言线程原理,线程池的原理和实现c语言
- ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
- java 11下载_jdk11版
- liunx的du命令查看文件夹大小
- jquery插件--浮动广告
- C# 判断圆与矩形的冲突
- php implode key,PHP implode()用法及代碼示例
- wordpress php格式,PHP_WordPress自定义时间显示格式,在帮King改他的私人情侣博客模 - phpStudy...
- 控制台调出Servers
- 阿里云天池供应链大赛(一)
- 2023最新广西大学计算机电子信息考研复试之计算机网络和软件工程 828数据结构与程序设计上岸冲刺复试宝典(复试版/复试资料)
- pyltp安装的一系列过程
- iOS安全–看了这个,你还敢用分身版微信吗?
- mysql+uuid的数据类型_mysql 数据类型
热门文章
- simplesamlphp 配置,安装,SP版本
- 蹲在ICU的门口,我看到了死亡的样子
- 调整idea面板字体大小
- 淘客API升级后的解决方案,怎么采集淘宝的商品数据
- 黑月教主去水印软件_去视频水印的软件有什么?这个多功能转换器
- 批量远程执行shell命令工具
- 解决QNetworkAccessManager 请求返回UnknownNetworkError,无法继续请求问题
- 系统常用参数的推荐设置(操作同样适合于其他AD版本,操作方法一致)
- www.wljx.net/forum.php,齐博CMS:主页被黑,不知漏洞在哪?
- QT+OSG/osgEarth编译之四:libpng+Qt编译(一套代码、一套框架,跨平台编译,版本:libpng-1.6.38)