sourceMappingURL と sourceURL の構文を変更しました

ソースマップまたは sourceURL を使用する場合(どちらも、ソースマップの概要で説明しています)、Chrome コンソールに "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead. などの警告が表示されることがあります。

Sourcemapping Devtools のスクリーンショット

詳細は次のとおりです。

引く力

//@cc_on が解釈されて IE JScript エンジンで条件付きコンパイルが有効になった後、ページ内で //@ sourceMappingURL が検出されると、IE と競合することが検出されました。特に、HTML5 Shiv の以前のバージョンは問題の原因となります。

仕様の変更

//@ sourceMappingURL 構文は Sourcemap V3 仕様で定義されています。そこで、代わりに //# 構文を使用するように変更されました。

sourceURL

//@ sourceURL も仕様で定義されており、整合性を確保するために //# 構文と一致するように作られています。sourceURL の詳細については、手順に沿ってご確認ください。これは、Ember の minispade、Google の concatenate.js などで使用されています。Chrome では、評価された JS に加えて、インライン スクリプトとインライン スタイルで sourceURL がサポートされています。

ブラウザの DevTools で実装 = 完了

  • Safari Inspector で、sourceMappingURL と sourceURL の //# がサポートされるようになりました
  • sourceURL のFirebug の変更がリリースされました。
  • Firefox で、sourceMappingURL の変更がリリースされました。sourceURL のチケットはこちらです。
  • Chrome DevTools で、sourceMappingURL と sourceURL の変更が適用されました。また、非推奨の //@ 構文の使用についても警告が表示されます。

これらの変更は安定版リリースに反映されますが、ニーズに応じて、両方の構文を同時に使用してツールを完全にサポートすることも、# 構文にすぐに移行することもできます。