SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

JavaScript の警告 "Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead" は、 JavaScript の非推奨のソースマップ構文があったときに発生します。

メッセージ

Warning: SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

Warning: SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead

エラーの種類

SyntaxError が発生したという警告です。 JavaScript の実行は停止しません。

エラーの原因

JavaScript のソースに非推奨のソースマップ構文があることです。

通常 JavaScript ソースは、サーバーからの提供を効率化するために、結合と最小化が行われます。ソースマップがあると、デバッガーが実行中のコードを元のソースファイルに対応付けすることができます。

IE の JScript エンジンは、//@cc_on の後でページが見つかると、条件付きコンパイルの有効化とみなします。 この IE での競合のために、ソースマップの仕様の構文が変更されました。IE の @cc_on 文 はあまり知られていない機能ですが、jQuery やそのほかのライブラリのソースマップを破壊します。

非推奨の構文

"@" 記号による構文は非推奨です。

js
//@ sourceMappingURL=http://example.com/path/to/your/sourcemap.map

標準の構文

代わりに "#" 記号を使用してください。

js
//# sourceMappingURL=http://example.com/path/to/your/sourcemap.map

あるいは、JavaScript ファイルに SourceMap ヘッダーを設定して、コメントを全く表示しないようにすることもできます。

js
SourceMap: /path/to/file.js.map

関連情報