我有一个 ASP.NET MVC 4 Web 应用程序。我所有的 JS 文件都在 Script 文件夹中。我像这样捆绑它们:
bundles.Add(new ScriptBundle("~/Scripts/js").IncludeDirectory("~/Scripts", "*.js"));
在 Views/Shared 中,我有 _BootstrapLayout.basic.cshtml,并调用了这个包:
<script src="@Url.Content("~/Scripts/js")" type="text/javascript"></script>
我在身体和头部都有它,它没有任何区别。当我以调试模式在本地运行它时,它工作得很好。当我部署它时,它不起作用,并在 Chrome 控制台中显示以下内容:
Failed to load resource: the server responded with a status of 404 (Not Found) http://mysite.azurewebsites.net/Home/scripts/js
“mysite”是我在 Azure 上的网站的名称。
由于捆绑包是针对 ~/Scripts/js 制作的,因此它不会在 /Home/scripts/js 中找到任何内容。我该如何解决?
更新我:
感谢@jamoerdyk 下面的回答,参考问题已得到修复。脚本包应该像这样包含:
@Scripts.Render("~/Scripts/js")
现在,我仍然收到错误,并且脚本无法正常工作。Chrome 控制台如下所示:
Uncaught SyntaxError: Unexpected token * /scripts/js?v=fIEoVL9cKX9p8_aBxRN9dMr1OHqh5ZMjO7E8iZ7Z3hQ1:12
有任何想法吗?还是根本不相关?
更新二:
缩小失败 - 这是第二个问题。所以我暂时停止使用捆绑,并定期对脚本进行 src 引用。