【发布时间】:2021-07-16 15:28:56
【问题描述】:
我有一个与 tailwindcss 一起使用的 nuxtjs 项目。
在那个项目中,我动态生成负边距的类,如下所示:
<div class="mins-1" :class="['-mt-'+ m1*8]"></div>
整个项目在本地运行良好,但如果我运行nuxt build; nuxt start;,它会被正确编译,但似乎没有一个动态类可以运行。
所以我终于发现nuxt build进程做了一些css tree shaking,而且由于这些类没有包含在dom中的任何地方,所以没有包含在 css 构建过程中。
为了测试这一点,我创建了一个隐藏的 div,如下所示:
<div class="hidden -mt-8 -mt-16 -mt-24 -mt-32 -mt-40 -mt-48 -mt-56 -mt-64 -mt-72 -mt-80">ok needed classes</div>
瞧,这将使我的项目在 nuxt build 之后可行,因为现在所需的类存在于 dom 中并将被包含在内。
这看起来很hacky!
现在我的问题是:
在 nuxtjs 项目的构建过程中包含动态创建的类的正确方法是什么?
更新的 tailwind.config.js(在 JIT 模式开启的情况下无效!)
const colors = require("tailwindcss/colors")
module.exports = {
purge: {
enabled: process.env.NODE_ENV === 'production',
content: [
'components/**/*.vue',
'layouts/**/*.vue',
'pages/**/*.vue',
'plugins/**/*.js',
'nuxt.config.js',
// TypeScript
'plugins/**/*.ts',
'nuxt.config.ts'
],
// UPDATE: safelist does NOT work in combination with JIT
options: {
safelist: ['mt-0', '-mt-8', '-mt-16', '-mt-24', '-mt-32', '-mt-40', '-mt-48', '-mt-56', '-mt-64', '-mt-72', '-mt-80'],
}
},
darkMode: false, // or 'media' or 'class'
theme: {
extend: {
colors: {
emerald: colors.emerald,
gray: colors.trueGray,
cyan: colors.cyan
},
},
},
variants: {
extend: {},
},
plugins: [],
}
【问题讨论】:
-
你的顺风版本是什么?
-
最新 2.1.1 取消 @nuxt/tailwindcss 4.0.3
标签: nuxt.js tailwind-css postcss