【发布时间】:2022-11-16 23:08:46
【问题描述】:
我想使用 javascripts 动态导入功能。 但是,当我指定要导入的整个 url 时,出现错误:
Cannot find module 'https://....
我知道资源可用。导入是否仅限于同源脚本文件(因此所有模块都以./开头)?
另一方面,我可以动态创建一个脚本元素并将源设置为任何东西,当它加载时,它的所有函数(不是模块)都在全局范围内。
我想要两者的好处 :) 从交叉来源加载脚本,但将它们保留在模块结构中。
【问题讨论】:
-
你在使用捆绑器吗?你能用你正在使用的代码更新吗?这应该正常工作 -
const THREE = await import('https://cdn.skypack.dev/three@0.130.0')等。它是一个 mjs 吗?是否存在任何其他脚本标签? -
@dangarfield 是的,我正在使用包裹。事实上,当我添加这个时,我的 IDE 甚至显示错误:``` @parcel/core: Failed to resolve 'cdn.skypack.dev/three@0.130.0' from './src/models.ts' /media/ra/hd2/projects/licci /idstoolkit-experiments/web/src/models.ts:407:42 406 | const as = async () => { > 407 |端口('cdn.skypack.dev/three@0.130.0')> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^408 | THREE.then(e => { 409 | console.log(e) @parcel/resolver-default: Unknown url scheme or pipeline 'https:'```
-
没错,包裹和动态导入似乎存在一些问题。谢谢!
标签: javascript parcel dynamic-import