我有一个项目,其中包含一组 css 文件(每个反应组件一个)。我在 webpack 和 postcss-cssnext 中使用 css-loader(带有模块)。
理想情况下,我想要一个variables.css
,这样我就可以在 css 文件中共享变量。我尝试过variables.css
包含以下内容:
:root {
--gutter-width: 1rem;
--outer-margin: 2rem;
...
}
然后我将其导入,以便通过 css 加载程序。问题是,其他文件不接受这些变量,所以要么这不起作用,要么我做错了什么(包括在组件 css 文件中直接起作用)。
一个有效的方法是拥有一个styles.json
具有以下 webpack 设置的文件:
postcss: function (webpack) {
return [
...
require("postcss-cssnext")({
features: {
customProperties: {
variables: require('./src/styles.json')
}
}
})
...
]
}
主要问题是每次更改变量时都必须重新启动 webpack 开发服务器(因此重新加载 webpack 配置)。这并不理想。
那么,有什么更好的方法来做到这一点吗?