ソース マップは、縮小されたライブラリ コードをステップ実行する場合などに非常に役立ちます。ソース マップを使用する .js ファイルの最初の数行は、既定では次のようになります。
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/
同じディレクトリにない場合jquery.min.map
、ソース マッピングをサポートするブラウザーは冗長な http 要求を作成し、404 エラーが発生します (おなじみのように聞こえますが、ファビコンはありますか? )。
sourceMappingURL
別のドメインを指している可能性があることに気付きました。私はこの慣習を支持しているわけではありませんが、CORS の対象にならないのは奇妙に思えます。
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.map
*/
マップされた縮小されていないソースは安全ですか? つまり、上記の例でマップされたサーバーが侵害され、悪意のあるコードがソースに追加された場合、それは実行される可能性がありますか? コードをデバッグしてステップ実行している場合はどうでしょうか。これに答える実装の詳細が見つかりません。