我们正在使用脚本和样式包来缩小和捆绑我们的资源。我们还使用StyleTransformer将我们的.less文件转换为.css。
coreCsss.Transforms.Add(new StyleTransformer());
coreCss.Include("~/Content/Common/Styles/core.less");
我们还有一个处理器指令,仅在构建非调试配置时启用优化。
#if DEBUG
BundleTable.EnableOptimizations = false;
#else
BundleTable.EnableOptimizations = true;
#endif
上述目的是让我们在开发过程中更轻松地调试未打包和未经编译的javascript。
我们注意到的问题是,如果EnableOptimizations
已禁用,则我们的.less文件不会被转换,而是将原始.less文件提供给浏览器。反正是否有禁用缩小和捆绑但仍能启用转换?我猜这是一个相当普遍的情况。
答案 0 :(得分:0)
首先,您拥有的代码完全没必要。开箱即用,EnableOptimizations
在开发中是错误的,在生产中是真的。您可能需要将其设置为某种东西的唯一原因是,如果您确实想要在开发中启用捆绑(默认情况下禁用它)。也就是说,如果StyleTransformer依赖于捆绑过程来运行,那么捆绑是一个全有或全无的事情,那么如果必须在开发中启用,或者你将得到你所拥有的。
就个人而言,我建议使用像Web Essentials Visual Studio Extension这样的东西,其中包括will auto-compile LESS into CSS on save。然后,您可以使用LESS,并简单地引用CSS版本。我确定其他具有类似功能的扩展程序。你也可以设置构建任务来运行gulp等,但这有点复杂。