很遗憾,此处提供的解决方案不起作用。看来我并不孤单。
如果它对其他人有帮助,我找到了另一种解决方法,这似乎提供了额外的好处。
如果您将 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/@Model@(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 文件,这是一个巨大的附带好处。
希望这会有所帮助。