如何使用PostSS和webpack处理全局样式转换
我使用带有PostSS的webpack2处理样式:如何使用PostSS和webpack处理全局样式转换,webpack,webpack-2,postcss,Webpack,Webpack 2,Postcss,我使用带有PostSS的webpack2处理样式: //webpack.config.js 规则:[{ 测试:/\.sss$/,, 使用:[ “样式加载器”, { 加载器:“css加载器”, 选项:{ 模块:对, 进口装载机:1, camelCase:'仅', localIdentName:“[name].[local].[hash:base64:4]”, sourceMap:true, }, }, '邮政编码加载器', ], }] //postsss.config.js 插件:{ “post
//webpack.config.js
规则:[{
测试:/\.sss$/,,
使用:[
“样式加载器”,
{
加载器:“css加载器”,
选项:{
模块:对,
进口装载机:1,
camelCase:'仅',
localIdentName:“[name].[local].[hash:base64:4]”,
sourceMap:true,
},
},
'邮政编码加载器',
],
}]
//postsss.config.js
插件:{
“postsss autoreset”:{},
}
如果我有两个.css
文件
/*a.css*/
.a{
填充:20px;
}
/*b.css*/
.b{
背景色:红色;
}
它们将被转换成这样的东西(为了清晰起见,我省略了css模块名称):
/*转换a.css内容*/
.a{
全部:首字母;
}
.a{
填充:20px;
}
/*转换a.css内容*/
.b{
全部:首字母
}
.b{
背景色:红色;
}
然后如果我有像之类的元素,规则padding:20px无法应用代码>,因为为.b
win重置。为解决此问题,所有重置应如下“提升”:
A.
.b{
全部:首字母;
}
.a{
填充:20px;
}
.b{
背景色:红色;
}
这可能吗?这似乎是一个与postsss autoreset
插件相关的“问题”。我从未使用过它,这是我第一次看到它,但在快速阅读之后,您似乎可以传递一个规则选择器(支持regex),使其有条件地通过此插件运行。
例如:
postcss([ require('postcss-autoreset')({
rulesMatcher: (rule)=> rule.selector.match(/[.reset]/)
})])
然后您可以使用.reset
css类来自动重置它们。实际上,我已经使用了rulesMatcher
选项。它只会重置选择器的过滤器,但我的问题是按规则顺序,而不是按过滤顺序。我只想重置我的所有块和元素(从边界元的意义上讲),并期望它们“正常工作”,即使某些块和元素将在一个dom元素上混合