1

最近のプロジェクトで奇妙な問題に遭遇しました。Trent Richardson の Timepickerコントロールを使用して、MVC 4 アプリケーションでタイム ピッカー機能を利用していました。MVC バンドル機能を使用して、関連する JQuery ファイルをバンドルしました。これは、開発環境 (Visual Studio 2012) で非常にうまく機能することがわかりました。

しかし、IIS に Web サイトを展開したときに、奇妙な問題に直面し始め、その特定のバンドルで" function expected " という JavaScript エラーが発生しました。そのバンドルが「スクリプト」タブで選択されたときに開発者ツールがJavaScriptコードを表示していたため、バンドルがロードされたことを確認できました。

最後に、JQuery ファイルをバンドルではなく直接参照すると、IIS で正常に動作するようになりました。問題は解決しましたが、その特定のファイルがバンドルされている場合に何が問題だったのか、MVC バンドルが実際に問題であった場合、開発環境ではうまく機能していたのに IIS ではうまく機能しなかったのはなぜですか?

この上にあるすべてのライトは大歓迎です。

4

2 に答える 2

1

Cyber​​maxs の回答に加えて、ASP.NET フォーラムに投稿した際に、次のような回答も受け取りました。参考になれば幸いです。

バンドルが想定しているのは、スクリプト/スタイルシート ファイルを 1 つのバンドルにまとめて 1 つのリクエストにまとめ、それをクライアントに送信することです。これにより、必要なスクリプト ファイルを取得するためのブラウザの呼び出しが少なくなります。開発環境で、Visual Studio でデバッグを行う場合。指定しない限り、上記のプロセスは実行されません。ただし、実稼働環境では、web.config ファイルでデバッグが false に設定されている場合。上記のプロセスを開始します。他にもいくつかの理由が考えられます。たとえば、スクリプトには 2 つのバージョンがある場合があります。1 つはデバッグ用、もう 1 つは本番用です。私はノックアウトでそのような状況に出くわしました。私の開発環境では、スクリプトのデバッグ バージョンを参照していました。しかし、本番環境に入れてみると、すべてが行き詰まりました。

于 2013-07-03T13:07:25.957 に答える