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参照を作成しました。