2016-12-26 77 views
0

我最近从Visual Studio 2013切换到Visual Studio 2015,以在MVC中开发我的Web应用程序。 我们使用LESS和JS文件编译为这两种文件类型的Minified版本。使用Bundler和Minifier编译保存CSS/JS文件

现在在VS2013中有一个功能,在LESS文件中用于对.LSS文件进行的任何更改时自动编译为.CSS文件。对于更新了.min.js文件的JS文件也是如此。对JS文件的任何改变。

因此,现在对于VS2015,我知道有一些新的独立扩展,即“Web编译器”和“Bundler和Minifier”,我也对其进行了全面研究,但我仍然无法使用它们如果.LESS或.JS文件相应更改,则更新缩小版本。

我知道有这些任务运行程序称为Grunt和Gulp可用于VS2015,但我需要知道如何才能实现此编译保存使用这些工具。

回答

0

答案1 这通常可以通过删除%localappdata%\temp\WebCompiler???文件夹来解决。

有时您需要重新启动VS,有时您不需要。

不适用于所有人,但似乎适用于很多人。

答案2 对于那些有兴趣,我发现了另一个答案,这似乎提供了一个额外的附带好处。

如果添加了Razor视图到项目中(我把它命名JsHelper.cshtml\Views\Shared添加的话),并使用下面的内容(添加多余的换行符,使其适合在SO宽度)...

@model string 
@{ 
    string ext = HttpContext.Current != null 
       && HttpContext.Current.Request.Url.Host.Contains("localhost") 
    ? "" 
    : ".es5.min"; 
} 
<script src="/Scripts/@[email protected](ext).js" type="text/javascript"></script> 

...然后,而不是添加这样的脚本标签...

<script src="/Scripts/General.es5.min.js" type="text/javascript"></script> 

...您可以添加此...

@Html.Partial("~/Views/Shared/JsHelper.cshtml", "General") 

当您在Visual Studio中运行网站时,将使用未编译版本的Javascript文件。在其他地方(例如生产服务器上)运行时,将使用.es5.min.js版本。

由于发布Web项目涉及构建它,它将编译.js文件,因此您可以确信已发布的已编译和缩小的文件是最新的。

这有一个副作用,即在浏览器中调试脚本时,您可以访问.js文件的完整版本,而不是直接引用它们时得到的编译和缩小版本。由于最新版本的Web编译器中发生的另一个重大变化是编译时不再生成.map.js文件,这是一个巨大的副作用。

希望这会有所帮助。