跳到主要内容

uni-app x 专题

Tailwind CSSuni-app x

这篇文档适合谁

  • 想在 uni-app x 项目里使用 Tailwind CSS 的开发者
  • 需要一套能同时覆盖 Web/小程序/Android/iOS/鸿蒙 的原子化样式方案
  • 已经使用 HBuilderX 运行或发布 uni-app x 项目

当前支持范围

weapp-tailwindcss@5 同时支持 Tailwind CSS 3 和 Tailwind CSS 4。uni-app x 项目建议通过 WeappTailwindcss(uniAppX(...)) 注册插件,Tailwind 的生成和小程序/App 转译都交给 weapp-tailwindcss

Tailwind 版本入口方式扫描方式当前验证
Tailwind CSS 3@tailwind base; / components / utilitiestailwind.config.jscontentHBuilderX 小程序、Android、iOS
Tailwind CSS 4@import "tailwindcss" source(none);CSS 入口里的 @sourceHBuilderX 小程序、Android、iOS
本地 E2E

HBuilderX 依赖本机安装环境,所以 Android/iOS App E2E 只在本地运行,不放进 CI/CD。仓库里对应的命令是 pnpm e2e:hbuilderx:local:apppnpm e2e:hbuilderx:local:androidpnpm e2e:hbuilderx:local:ios

最快开始

  • 想最快跑起来:点击上方「一键使用模板项目」,按 README 步骤打开 HBuilderX 运行即可
  • 想了解每一步:前往「手动集成」教程 → 快速集成

开发建议

  • 推荐编辑器协作:用 VS Code 写代码,用 HBuilderX 负责运行与构建
  • 首选 Android 端调试:CSS 兼容度一般是 Web > 小程序 > App(Android/iOS/鸿蒙)。先用 Android 模拟器打通路径,跨端成本最低
  • 组件语义注意:原生 App 端文字需放在 <text> 标签,且文本样式需要直接作用在该元素上
  • 渐进增强:若某些样式在 App 端受限,优先保证 Android 端体验,再按需做条件编译适配小程序/Web

布局能力边界

  • uvue 原生 App 端不支持 gapgap-x-*gap-y-*,包括所有 grid gap 与 flex gap 场景
  • space-x-*space-y-*uni-app x 中也不再支持,请不要使用
  • 需要稳妥跨端时,优先改为对子项显式写 mt-* / ml-*,或封装 Stack 一类组件统一处理间距

为什么推荐先用 Android

  1. 原生端样式约束更严格,例如文本必须使用 <text>,许多 CSS 特性仍在补齐中
  2. 如果你的页面在 Android 端无告警、展示正确,迁移到小程序与 Web 的心智负担会小很多
  3. iOS/鸿蒙的调试门槛更高(设备/系统要求),多数团队以 Android 作为优先目标更务实

常见问题

VS Code 对 uvue/uts 的高亮与跳转

安装官方语言服务插件:

Tailwind CSS 智能提示

VS Code 原生不识别 uvue/uts,建议为 Tailwind 扩展加上语言映射。在项目根目录创建 .vscode/settings.json

.vscode/settings.json
{
"tailwindCSS.includeLanguages": {
"uvue": "html",
"uts": "javascript"
}
}

运行方式

uni-app x 的运行和构建仍以 HBuilderX 为准。需要命令行自动化时,可以使用 HBuilderX CLI;本仓库的本地 E2E 就是通过 hbuilderx launch 跑 Web、小程序和 App 目标。

接下来