【发布时间】:2012-11-13 22:59:45
【问题描述】:
我安装了带有 Web Essentials 2012 的 Visual Studio 2012,我正在使用它来缩小我的 javascript 文件。然后我使用 Telerik ScriptRegistrar 即时创建捆绑包。
在部署测试时,我们发现了一个问题,即 Web Essentials 会从每个文件中删除最后一个分号,从而导致 javascript 无效。最后一个分号存在的原因是,当文件被捆绑时,浏览器不会将任何 jquery 插件的第一行解释为前一个文件最后一行的一部分。这通常发生在前一个文件以 document.ready 的 jQuery 简写结尾时,如下所示:
$(function () {
alert('This bloody code will break if the next file contains a plug in');
});
只要在捆绑包中发生这种情况,浏览器就会在页面生命周期的早期抛出异常,并且页面上的任何 javascript 都不会被加载。
有没有人知道有什么方法可以阻止 Web Essentials 2012 去掉最后一个分号?或者,我们可以对我们的脚本做些什么来防止它们相互破坏?
【问题讨论】:
-
您是否尝试过将分号加倍,或在文件的开头或结尾添加一些无害的东西,例如未使用的 var 声明?
标签: jquery asp.net-mvc asp.net-mvc-4 web-essentials