0

ASP.NET MVC4Webアプリケーションがあります。私の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上の私のWebサイトの名前です。

バンドルは〜/ Scripts / jsに対して作成されているため、/ Home / scripts/jsには何も見つかりません。これを修正するにはどうすればよいですか?

更新I:

以下の@jamoerdykの回答のおかげで、参照の問題が修正されました。スクリプトバンドルは次のように含める必要があります。

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

今でもエラーが発生し、スクリプトが機能していません。Chromeコンソールは次のようになります。

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

何か案は?それともまったく関係がないのですか?

更新II:

縮小化は失敗していました-それは2番目の問題でした。そこで、しばらくの間、バンドリングの使用をやめ、スクリプトへの定期的な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 に答える