在使用ASP.NET MVC 4部署到Azure之后,在Home / Scripts / js中捆绑了JS

时间:2013-03-14 19:53:11

标签: jquery twitter-bootstrap asp.net-mvc-4

我有一个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中找到任何内容。我该如何解决这个问题?

更新I:

由于@ jamoerdyk的答案如下,参考问题已修复。应该包含脚本包,如下所示:

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

现在,我仍然收到错误并且脚本无效。 Chrome控制台如下所示:

Uncaught SyntaxError: Unexpected token * /scripts/js?v=fIEoVL9cKX9p8_aBxRN9dMr1OHqh5ZMjO7E8iZ7Z3hQ1:12

有什么想法吗?或者它根本不相关?

更新II:

缩小失败 - 这是第二个问题。所以我停止使用捆绑一段时间,并对脚本进行常规的src引用。

1 个答案:

答案 0 :(得分:2)

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

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

代替你的

<script src="@Url.Content("~/Scripts/js")" type="text/javascript"></script>