在很多比较LESS/SASS
的文章中,都声称LESS
会在客户端转换为CSS
,使用 JavaScript
代码。
我还在 ASP.NET MVC 中发现了一个叫做 LessTransform
的东西,它被用于捆绑。
例如:
var bundle = new StyleBundle("~/Content/style").Include(
"~/Content/myStyles.less");
bundle.Transforms.Add(new LessTransform());
bundles.Add(bundle);
问题 1:LESS
填充是在服务器端完成的吗?
大多数比较注意到 LESS 是客户端(作为性能的弱点),而 SASS 与 Ruby 的集成更好。
问题 2:是否真的因为 LessTransform
在使用 ASP.NET MVC 4.0 时 LESS 是一个更直接的选择?
最佳答案
是的,在您的示例中,转换是服务器端的。可以在客户端编译它,但捆绑时情况并非如此。当我说客户端时,我指的是浏览器,并非所有浏览器都支持它(仅限现代浏览器)。
我同意 less 在 asp.net mvc 中得到更多支持。 尤其是 Visual Studio Web Essentials 支持 less。
http://vswebessentials.com/features/less
我经常用它来:
- .less 到 .css 预览
- 查看 .less 编译的输出
- 提取变量/混合
更新
它确实支持 Sass,但在 2013 年 5 月 5 日发布时受到限制并被删除。
要证明 .less 是在服务器上编译的,如果将以下内容添加到 bundle 中的 less 文件(未编译):
@color: #4D926F;
#header {
color: @color;
}
h2 {
color: @color;
}
然后在编译后的浏览器中查看返回的响应:
#header {
color: #4d926f;
}
h2 {
color: #4d926f;
}
关于c# - LESS 到 CSS 的转换是在客户端还是在服务器端完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21204175/