在同一个文件中使用 css 和 sass 导入时,生成的 css 的顺序不正确。
完整的例子可以在这里看到和复制:https ://github.com/p0wl/webpack-jimdo-example/tree/master/sass-order
鉴于我们有以下设置:
@import 'some.sass';
.legacy_bundle {
content: 'legacy_bundle';
}
@import 'middle.css';
@import 'other.sass';
输出:
.middle {
content: 'middle';
}.some {
content: 'some'; }
.legacy_bundle {
content: 'legacy_bundle'; }
.other {
content: 'other'; }
/*# sourceMappingURL=new_cms_classes.css.map*/
.middle
是第一条规则,尽管它不是第一条导入。.some
需要成为第一条规则,因为它是第一个导入。
webpack.config.js(摘录):
entry: {
"new_cms_classes.css": "legacy_bundle.css"
},
module: {
loaders: [
[
{
test: /\.sass$/,
// Passing indentedSyntax query param to node-sass
loader: "sass?indentedSyntax"
},
{
test: /legacy_.+\.css$/,
loader: ExtractTextPlugin.extract("style-loader", "css-loader?root=~!sass")
},
{
test: /\.css$/, loaders: ["style", "css?root=~"]
}
]
]
},
webpack 和所有加载器都是最新版本。