SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
信息
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 源码中使用了已废弃的 source map 语法。
JavaScript 源代码经常被组合和压缩,以便能更高效地从服务器获取它们。使用了 source maps,调试器就可以将正在执行的代码映射到原始源文件。
因为在 IE 浏览器中,只要页面存在 //@cc_on
注释,都会被 IE JScript 引擎解释为要打开条件编译,所以 source map 的规范更改了语法。条件编译注释 是 IE 的一个鲜为人知的特性,但是它破坏了 jQuery 和其他库的 source map。
示例
废弃的语法
使用 "@" 符号的语法已经被废弃了。
js
//@ sourceMappingURL=http://example.com/path/to/your/sourcemap.map
标准语法
使用 "#" 符号代替。
js
//# sourceMappingURL=http://example.com/path/to/your/sourcemap.map
或者,你也可以为 JavaScript 文件设置 header,以避免添加注释:
js
X-SourceMap: /path/to/file.js.map