我刚刚执行了我的 MVC 应用程序的第一次部署,并且遇到了 Javascript 的一些问题。
为了在运行时挂钩,我这样做:
_Layout.cshtml
@if (IsSectionDefined("MyPage"))
{
<script type="text/javascript">
$(document).ready(function () {
@RenderSection("MyPage", required: false)
});
</script>
}
我的页面.cshtml
然后在我的 Razor 视图中,我这样做:
@section MyPage
{
myPage.SomeFunction();
}
myPage.js
(function (myPage, $) {
myPage.SomeFunction = function () {
...
};
}(window.myPage= window.myPage|| {}, jQuery));
这在 VS 中的 Debug 中效果很好,但是一旦我部署它(在 NuGet 包中使用 Otopus Deploy 进行连续部署),我就开始看到如下错误:
ReferenceError: myPage is not defined.
如果我查看源代码并点击捆绑链接,代码就在那里......
但是该文件的标题是缩小错误,例如:
/* Minification failed. Returning unminified contents.
(683,1-2): run-time warning JS1002: Syntax error: }
(683,51-52): run-time warning JS1002: Syntax error: }
*/
// Contains all the javascript required by the myPage page
我目前正在处理 Visual Studio 中的 JSLint 错误,但我认为这些更多是关于格式化而不是直接与 JS 上的 ReferenceError 相关,因为 JS 已加载,因为我可以从页面源链接到该函数。
关于看什么或如何解决这个问题的任何指示?