Vue CLI + Tailwind:使用 CSS 变量进行主题化
Posted
技术标签:
【中文标题】Vue CLI + Tailwind:使用 CSS 变量进行主题化【英文标题】:Vue CLI + Tailwind: Theming with CSS Variables 【发布时间】:2021-10-22 01:40:15 【问题描述】:以下设置按预期工作:
yarn serve
但是它不会将自定义主题变量添加到生成的 CSS 文件中:
yarn build
设置:
项目\src\assets\tailwind.css
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer components [...]
@layer base
:root
--color-text-title: 0, 0, 0;
[...]
.theme-customOne
--color-text-title: 0, 255, 0;
[...]
.theme-customTwo
--color-text-title: 0, 0, 255;
[...]
项目\tailwind.config.js
function withOpacity(variableName)
[...]
module.exports =
purge: content: ["./public/**/*.html", "./src/**/*.vue"] ,
darkMode: false,
theme:
extend:
textColor:
skin:
title: withOpacity("--color-text-title"),
[...]
输出:
项目\dist\css\index.cae56bc4.css
:root
--color-text-title: 0, 0, 0;
[...]
问:作为构建过程的一部分,有没有办法在生成的 CSS 文件中获取特定于主题的 CSS 变量?
【问题讨论】:
【参考方案1】:我自己想出来的。 解决方案是将您想要保留的自定义类添加到 tailwind.config.js 中,如下所示:
module.exports =
purge:
content: ["./public/**/*.html", "./src/**/*.vue"],
safelist: ["theme-customeOne", "theme-customTwo"]
,
[...]
之后就可以运行了:
yarn build
如果您现在检查生成的 CSS,例如项目\dist\css\index.cae56bc4.css 您将在该文件中找到自定义类 + 自定义 CSS 变量。
我分享我的解决方案,以防对遇到的其他人有所帮助 这个问题。
【讨论】:
以上是关于Vue CLI + Tailwind:使用 CSS 变量进行主题化的主要内容,如果未能解决你的问题,请参考以下文章
使用官方cli生成项目时,tailwind样式不适用于下一个js
将 Tailwind.css 添加到 Vue.js 项目后,某些类没有效果
OctoberCMS (Laravel) + Vue.js + Tailwind CSS 最佳设置
带有 Tailwind css 的 Vue 过渡在淡出时不可见
NuxtJS + BootstrapVue + TailwindCSS:我可以有效地使用 Bootstrap Vue 组件,但使用 Tailwind CSS 样式?