gpt4 book ai didi

javascript - 如果不需要或导入 js 库,则公开它的最佳方法

转载 作者:行者123 更新时间:2023-11-28 18:23:38 25 4
gpt4 key购买 nike

我正在创建一个与动画 Canvas 库一起使用的小库。这些人中的大多数不使用 requireJS、webpack 或其中任何一个。

如果在 html 中直接引用该文件,向全局公开的最佳方式是什么?

class MyLibClass {
constructor() {
// ...
}
}

if (???) {
// The user is importing or requiring it
export default MyLibClass;
} else {
// Expose to the global scope
window.MyLibClass = MyLibClass;
}

最佳答案

这是一种方法,基本上的想法是检测环境是否提供任何导出库的方法,如果全部失败,则回退到单个全局变量。

(function (factory) {
if (typeof define === "function" && define.amd) {
define(factory);
} else if (typeof module != "undefined" && typeof module.exports != "undefined") {
module.exports = factory();
} else if (typeof Package !== "undefined") {
MyLib= factory(); // export for Meteor.js
} else {
/* jshint sub:true */
window["MyLib"] = factory();
}
}(function () {
...
return myLib;
}));

请注意,它是用 ES5 编写的,而不是 ES6,但它应该很容易回收,支持的导出方法是 AMD、RequireJS(和 ES6+)、Meteor.js 和浏览器。

关于javascript - 如果不需要或导入 js 库,则公开它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39535911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com