sass-loader 版本:4.1.1
节点萨斯版本:4.1.1
网络包:1.14
节点版本:7.3
我看到我的 sass-loader 构建仅在 linux 上失败(在 mac 上很好),但也不是每次都失败。我不完全确定这是 sass 问题还是 sass-loader 问题。它似乎与 webpack 配置有关,但我真的看不出有什么问题。我正在使用提取 webpack 文本插件,但是没有它也会发生同样的错误。
这似乎与让 2 个入口点引用同一组 sass 有关。
Child extract-text-webpack-plugin:
+ 1 hidden modules
ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/scss/alternate.scss
Module build failed:
@include media-query-phone() {
^
Stack level too deep
in /data/jenkins/workspace/build-branch/src/scss/elements/_grid.scss (line 88, column 16)
Child extract-text-webpack-plugin:
+ 1 hidden modules
ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/scss/main.scss
Module build failed:
@include media-query-desktop() {
^
Stack level too deep
in /data/workspace/build-branch/src/scss/elements/_grid.scss (line 64, column 16)
在我的根级别,我有 2 个 sass 文件,main.scss 和 alternate.scss
//main.scss
@import 'folder1/**/*.scss';
//alternate.scss
@import 'folder2/thing';
@import 'main.scss';
文件夹 1 或 2 中的所有东西都没有任何导入。
我的 webpack 配置入口点看起来像这样
entry: {
//doesn't happen if either of these is left out
'main': './src/main.js', //the js file imports main.scss
'alternate-sass': './src/scss/alternate.scss'
},
导致错误的 mixin 看起来像这样
@mixin media-query-phone() {
@media screen and (min-width: $phone-min-width) and (max-width: $tablet-min-width - 1) {
@content;
}
}
//used by
@include media-query-phone() {
.blah{
padding: 0;
}
}