jQuery'のjquery-1.10.2.min.mapが404(Not Found)を誘発する。

ファイル min.map が見つからないというエラーメッセージが表示されます。

jquery-1.10.2.min.mapをGETすると404(Not Found)が発生します。


スクリーンショット

.

これはどこから来たの?

ソリューション

Chrome DevToolsが.mapファイル(たぶんjquery-1.10.2.min.mapjquery.min.mapjquery-2.0.3.min.mapのいずれか)に対して404を報告している場合、最初に知っておくべきことは、これはDevToolsを使用しているときにのみ要求されるということです。 あなたのユーザーがこの404.をヒットすることはありません。

これで、この問題を解決するか、ソースマップ機能を無効にすることができます。

修正: ファイルの取得

次に、簡単な修正方法です。http://jquery.com/download/ にアクセスして、あなたのバージョンの Download the map file リンクをクリックして、圧縮されていないファイルもダウンロードしてください。

.

マップファイルがあれば、オリジナルのソースを使ってミニマイズされたjQueryをデバッグすることができ、acのような変数名を扱うのが苦手な人にとっては、時間とフラストレーションの節約になります。

ソースマップについてはこちらをご覧ください。An Introduction to JavaScript Source Maps

Dodge: ソースマップの無効化

ファイルを取得する代わりに、設定でJavaScriptのソースマップを完全に無効にすることができます。このページでJavaScriptをデバッグする予定がないのであれば、この方法が良いでしょう。 DevToolsの右下にある歯車のアイコンを使って設定を開き、次のようにします。 をクリックします。

解説 (11)

という行を削除することで、404を解除することができます。

//@ sourceMappingURL=jquery-1.10.2.min.map

という行をjQueryファイルの先頭部分から削除することで404を解除することができます。

jQueryファイルのトップ部分は以下のようになります。

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/

に変更するだけです。

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

ソースマップの目的

基本的には、結合/改良されたファイルをビルドされていない状態に戻すためのマッピング方法です。本番環境用にビルドする際には、JavaScriptファイルの最小化と結合に加えて、元のファイルに関する情報を保持するソースマップを生成します。生成された JavaScript の特定の行や列の番号を問い合わせると、ソースマップで検索を行い、元の場所を返すことができます。デベロッパーツール(現在はWebKitのナイトリービルド、Google Chrome、Firefox 23+)では、ソースマップを自動的に解析して、あたかも未分割・未結合のファイルを実行しているかのように見せることができます。 (詳しくはこちらをご覧ください)

解説 (6)

私の理解では、少なくともChromeというブラウザは、デフォルトではソースマッピングを無効にしていません。つまり、あなたのアプリケーションのユーザーは、デフォルトでこのソースマッピングのリクエストを引き起こすことになります。

JavaScriptファイルから「//@ sourceMappingURL=jquery.min.map」を削除することで、ソースマッピングを解除することができます。

解説 (0)