我想使用tailwindcss在我的样式在一个nx monoorepo
我用global-styles.scss
文件制作了一个全局样式lib
,以保持应该添加到每个app
的全局样式。
@tailwind base;
@tailwind components;
@tailwind utilities;
.test {
color: aqua;
}
#root {
--teal: #008285;
--iceberg: #D1F0F1;
--polar: #F6FCFD;
--scooter: #2BBEC3;
--purple: #481059;
--white: #FFFFFF;
--red: #E8203A;
--black: #2C2C2C;
}
在我的workspace.json
中,我已经将这个样式文件的路径添加到构建目标中。
"styles": ["apps/my-app/src/styles.scss", "libs/ui-shared/src/lib/styles/global-styles.scss"],
现在,test
类作为css变量都被我的应用程序拾取,但是没有一个顺风类工作,所以@tailwind
指令不起作用。
tailwind.config.js
和postcss.config.js
位于apps/my-app
文件夹中,当我将global-styles.scss
文件从libs
目录移动到此应用程序文件夹时,一切都正常工作。所以我想知道是否有某种配置或规则,你必须保持css文件在相同的(或更深的嵌套)位置作为postcss.config
文件?
我想知道我是否可以让顺风导入在全局样式文件中工作?谢谢你的建议或解释!
如果其他人正在努力解决这个问题,以下是我的解决方法:我将postcss-import
安装为node_module,并将此插件添加到我想要使用css ui库的项目的postcss.config.js
文件中。
const { join } = require('path');
module.exports = {
plugins: {
'postcss-import': {},
tailwindcss: { config: join(__dirname, 'tailwind.config.js') },
autoprefixer: {},
},
};
现在我可以在我的ui-library中创建一个css文件,在这里我定义了所有常用的样式&我导入顺风类。在我的应用程序中,我可以在应用程序的styles.css
文件中导入@import
的css文件。如果你按照nx文档中的解释配置了应用程序的tailwind.config
文件,那么清除仍然可以正常工作。
我也有同样的问题,也使用nx单线程。我的结构看起来像这样:
monorepo/
|-apps/
|-my-app/
|-libs/
|-styles/
我最终通过在my-app/
目录中创建css
文件并从libs/styles
导入所有全局样式来修复它。然后,这个css文件被加载到我的应用程序中。
app/index.css
@import '/libs/styles/global.css`
你还需要确保在每个应用程序的根目录下都有一个tailwind.config.js
和一个postcss.config.js
文件。如果希望保留一些全局规则,可以使用presets
键扩展顺风配置。以下是我在nx
中的顺风配置。
app/tailwind.config.js
module.exports = {
presets: [require('../../libs/shared/styles/tailwind.base')],
content: [
join(
__dirname,
'{src,pages,components}/**/*!(*.stories|*.spec).{js, jsx, ts,tsx,html}'
),
...createGlobPatternsForDependencies(__dirname),
],
plugins: [],
}