Pra*_*avi 6 sass reactjs webpack css-modules react-css-modules
我有一个_color.scss文件,其中包含400种颜色作为变量。我喜欢20个需要在其样式中使用此颜色变量的组件。
我正在使用SCSS + CSS模块构造样式。到目前为止,我正在将其导入_color.scss每个组件的中style.scss。
例:
component1.scss
@import "color.scss";
Run Code Online (Sandbox Code Playgroud)
component2.scss
@import "color.scss";
Run Code Online (Sandbox Code Playgroud)
component3.scss
@import "color.scss";
Run Code Online (Sandbox Code Playgroud)
以前,当我独立使用SCSS时,我会将导入color.scss到我的系统中,index.scss然后导入它下面的所有其他样式。这样,变量将在所有组件中可用。
例:
//index.scss
@import "color.scss";
@import "component1.scss";
@import "component2.scss";
@import "component3.scss";
Run Code Online (Sandbox Code Playgroud)
现在,所有下的变量_color.scss将可用下component1.scss,component2.scss和component3.scss。
有没有办法做与此类似的事情CSS Modules + SCSS?一个声明全局变量的地方?
我现在使用的方式看起来很干净。所以,我把它分享给大家。
这将包括@import所有.scss文件,使变量和 mixin 在所有scss文件中都可用,同时使用css modules.
该webpack@2.xx配置
...
module: {
rules: [
{
test: /\.scss$/,
loaders: [
'style-loader',
'css-loader?modules&importLoaders=1&localIdentName=[path][name]__[local]__[hash:base64:10]',
'sass-loader',
'sass-resources-loader',
'import-glob-loader',
'postcss-loader',
],
},
},
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
postcss: [
autoprefixer(),
],
sassResources: [
'./app/constants/_style-variables.scss', //include your scss imports here
],
context: path.resolve(__dirname, '../../')
}
})
]
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2918 次 |
| 最近记录: |