![](/img/trans.png)
[英]BundleTransformer.Less unable to parse variables in @import statements
[英]BundleTransformer: Bootstrap SASS
我正在使用优秀的BundleTransformer Nuget 包使用 ASP.NET 捆绑和缩小管道动态编译 SCSS。 我试图将bootstrap.sass包引入混合中,并不断收到以下错误。 在这一点上,我的设置非常简单,使用node-sass
工具可以很好地编译 scss 文件,如果我删除@import "bootstrap/bootstrap.scss"
行,SCSS 可以与 BundleTransformer 完美编译。 有没有人遇到过这个问题并且可能有解决方案? 这是 .NET Framework 4.7.2。 谢谢!
捆绑配置文件
var nullBuilder = new NullBuilder();
var styleTransformer = new StyleTransformer();
var scriptTransformer = new ScriptTransformer();
var nullOrderer = new NullOrderer();
var defaultScssBundle = new CustomStyleBundle("~/bundles/styles/default");
defaultScssBundle.Include(
"~/Content/Default.scss"
);
defaultScssBundle.Builder = nullBuilder;
defaultScssBundle.Transforms.Add(styleTransformer);
defaultScssBundle.Transforms.Add(new CssMinify());
defaultScssBundle.Orderer = nullOrderer;
bundles.Add(defaultScssBundle);
默认.scss
@import "bootstrap/bootstrap.scss";
/* common styles */
.green {
color: green;
}
.full-width {
width: 100%;
}
错误
During translation of SCSS code, readed from the file '/TestProject/Content/bootstrap/_alert.scss', to CSS code syntax error has occurred.
See more details:
Error: Undefined variable: "$alert-padding-y".
on line 7:12 of Content/bootstrap/_alert.scss
>> padding: $alert-padding-y $alert-padding-x;
-----------^
Error code: 1
Description: Undefined variable: "$alert-padding-y".
File: /TestProject/Content/bootstrap/_alert.scss
Line number: 7
Column number: 12
Source fragment:
Line 6: position: relative;
Line 7: padding: $alert-padding-y $alert-padding-x;
-------------------^
Line 8: margin-bottom: $alert-margin-bottom;
经过多次尝试和错误,我发现了问题。 查看Github Repo中的示例后,我从BundleConfig.cs
提取了以下几行,现在一切正常。
defaultScssBundle.Builder = nullBuilder;
defaultScssBundle.Transforms.Add(styleTransformer);
defaultScssBundle.Transforms.Add(new CssMinify());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.