Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PostSS和webpack处理全局样式转换_Webpack_Webpack 2_Postcss - Fatal编程技术网

如何使用PostSS和webpack处理全局样式转换

如何使用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

我使用带有PostSS的webpack2处理样式:

//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元素上混合