通过导入将 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
可能未定义。
场景
作为我的原型制作过程的一部分,我想引入 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
可能未定义。