sourcemappingurl: relative from html or js 的 base url 是哪个?
Which is the base url of sourcemappingurl: relative from html or js?
假设在html文件的子目录下有一个带有source-map的js文件。
- index.html(使用 js/myjs.js)
- js/myjs.js
- js/myjs.js.map
那么myjs.js的sourceMappingURL注释是哪个?
//# sourceMappingURL=myjs.js.map
或
//# sourceMappingURL=js/myjs.js.map
我查找 specification。
当源映射URL不是绝对的,那么它是相对于生成代码的“源源”。来源来源由下列情况之一确定:
- 如果生成的源不与脚本元素相关联
具有“src”属性并且存在 //# sourceURL 注释
生成的代码,该注释应用于确定来源
起源。注意:以前,这是“//@sourceURL”,与“//@
sourceMappingURL”,两者都接受是合理的,但是 //# 是
首选。
- 如果生成的代码与脚本元素相关联
并且脚本元素有一个“src”属性,“src”属性
脚本元素将是来源。
- 如果生成代码
与脚本元素相关联,而脚本元素不
有一个“src”属性,那么来源将是页面的
起源.
- 如果生成的代码被评估为带有
eval() 函数或通过 new Function(),则源原点将是
页面的来源。
因此,如果您在 index.html 中使用 <script src="js/myjs.js">
,则使用 js/myjs.js.map
。
假设在html文件的子目录下有一个带有source-map的js文件。
- index.html(使用 js/myjs.js)
- js/myjs.js
- js/myjs.js.map
那么myjs.js的sourceMappingURL注释是哪个?
//# sourceMappingURL=myjs.js.map
或
//# sourceMappingURL=js/myjs.js.map
我查找 specification。
当源映射URL不是绝对的,那么它是相对于生成代码的“源源”。来源来源由下列情况之一确定:
- 如果生成的源不与脚本元素相关联 具有“src”属性并且存在 //# sourceURL 注释 生成的代码,该注释应用于确定来源 起源。注意:以前,这是“//@sourceURL”,与“//@ sourceMappingURL”,两者都接受是合理的,但是 //# 是 首选。
- 如果生成的代码与脚本元素相关联 并且脚本元素有一个“src”属性,“src”属性 脚本元素将是来源。
- 如果生成代码 与脚本元素相关联,而脚本元素不 有一个“src”属性,那么来源将是页面的 起源.
- 如果生成的代码被评估为带有 eval() 函数或通过 new Function(),则源原点将是 页面的来源。
因此,如果您在 index.html 中使用 <script src="js/myjs.js">
,则使用 js/myjs.js.map
。