为什么动态导入保存原点?
Why does dynamic import preservers the origin?
假设我有一个来自 cdn 的脚本,内容如下:
// bundle.js at https://cdn.com/bundle.js
function loadModule(name) {
return import(name);
}
我希望在我的应用程序中包含它时,我可以使用它来加载我的应用程序模块而无需绝对 URL?因为如果我不这样做,它会解析为脚本的来源:
<script src='https://cdn.com/bundle.js'></script>
<script>
// points to https://cdn.com/app.js instead of myhost.com/app.js
loadModule('/app.js');
</script>
我的问题是:这是错误还是规范行为?如果可以对此行为进行进一步的解释,那就太好了。我正在使用 Brave 浏览器。
这个
// bundle.js at https://cdn.com/bundle.js
function loadModule(name) {
return import(name);
}
脱糖为
// bundle.js at https://cdn.com/bundle.js
const scriptBaseURL = 'https://cdn.com/';
function loadModule(name) {
return import(scriptBaseURL+name);
}
假设我有一个来自 cdn 的脚本,内容如下:
// bundle.js at https://cdn.com/bundle.js
function loadModule(name) {
return import(name);
}
我希望在我的应用程序中包含它时,我可以使用它来加载我的应用程序模块而无需绝对 URL?因为如果我不这样做,它会解析为脚本的来源:
<script src='https://cdn.com/bundle.js'></script>
<script>
// points to https://cdn.com/app.js instead of myhost.com/app.js
loadModule('/app.js');
</script>
我的问题是:这是错误还是规范行为?如果可以对此行为进行进一步的解释,那就太好了。我正在使用 Brave 浏览器。
这个
// bundle.js at https://cdn.com/bundle.js
function loadModule(name) {
return import(name);
}
脱糖为
// bundle.js at https://cdn.com/bundle.js
const scriptBaseURL = 'https://cdn.com/';
function loadModule(name) {
return import(scriptBaseURL+name);
}