为什么动态导入保存原点?

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);
}