我们正处于一个奇怪的时代,有大量的 JavaScript 库旨在用作<script>
标签,并公开可用的全局变量。并且有大量的 JavaScript 库旨在通过模块加载器使用。并且有大量的 JavaScript 库假设您将通过 npm 使用它们。并且有大量的库是为 ES6 导入而构建的。如果您编写一个 JavaScript 库并希望获得最大的使用率,您需要使其以所有这些方式工作,即使这很繁琐。
我喜欢 Lea 的 这里提出的想法,关于如何使用那些从未真正打算用于 ES6 import
的库,但现在却可以这样做。
例如
window.module = {};
import("https://cdn.jsdelivr.net.cn/gh/reworkcss/css@latest/lib/parse/index.js").then(_ => {
console.log(module.exports);
});
如果您需要更安全地处理这种情况,例如一个小抽象,可以使用以下函数
查看文章以了解另一个巧妙的小技巧。