0

我有一个 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 引用。

4

1 回答 1

2

您应该像这样包含您的脚本包:

@Scripts.Render("~/Scripts/js")

而不是你的

<script src="@Url.Content("~/Scripts/js")" type="text/javascript"></script>
于 2013-03-14T20:03:44.567 回答