通过导入将 vanilla ES5 js 文件加载到 ES6 环境中

load in vanilla ES5 js file into ES6 environment via import

场景

作为我的原型制作过程的一部分,我想引入 tween.js,我可以在 html 部分使用 <script> 标签,但我想导入这个 vanilla es5文件由于各种原因直接转成我的es6文件。

我想做的是

import * as TWEEN from 'import * as TWEEN from 'https://cdnjs.cloudflare.com/ajax/libs/tween.js/16.7.0/Tween.min.js'

虽然这似乎加载了远程文件,但我似乎没有得到 TWEEN.Tween 等方法。我怀疑所有 es5 都在某种闭包真空 > 垃圾收集中被处理掉了。

问题

我知道我可以在本地克隆这个文件,但我希望通过导入并不总是 es6 友好的 cdn 文件来简化我的一次性样式原型制作。这可行吗?

如果您想通过 script 标签注入托管在 CDN 上的 Tween.min.js,它将是 UMD 模块,它与 ESM 模块不兼容.

但是,您可以通过 window 对象 use/call 导入它,而不是像上面描述的那样导入它:

window.TWEEN 在你的 esm 模块中。

Tween.min.js 将被加载和执行时,它将附加到 window 对象。

只是为了确保您首先在 HTML 端单独加载该脚本,在您的 esm scripts/apps 之前,否则 window.TWEEN 可能未定义。