如何使用 JavaScript 的 ES6 模块加载和运行现有库?
例如,假设我需要加载一个现有的 polyfill:
import {poly} from "thirdParty/poly";
如何在poly
不更改源的情况下运行导入的脚本并将其属性加载到当前命名空间中?
这里有两个实际问题可以帮助澄清我要解决的问题:
我有一个名为
rafPolyfill.js
window.requestAnimationFrame 的脚本。我需要将它导入全局范围并在加载后立即运行它。<script>
使用标签很容易做到这一点:
它运行并将自身加载到全局范围内。使用 ES6 模块如何做到这一点?
我有另一个脚本
Font.js
,它是字体的预加载器。它让您可以像这样创建新的字体对象:var 字体 = 新字体();
我通过使用脚本标签加载 Font.js 来使用它,如下所示:
<script src="Font.js"><script>
如果不访问、更改或理解此脚本的源代码,如何使用 ES6 模块以与使用<script>
标签相同的方式加载和使用?我只需要这些脚本在加载时运行并照顾好自己。
一个可能的解决方案可能是使用模块加载器 API:
http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders
本文档描述了加载器的全局绑定System
,但恐怕我没有足够的词汇来完全理解它试图解释的内容。对解码本文档的任何帮助将不胜感激!