gpt4 book ai didi

javascript - 如何使用 UMD 定义单个对象构造函数?

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

我正在定义一个 UMD 风格的模块,定义一个可以跨 CommonJS、AMD 和浏览器全局变量使用的模块,如下所示:

(function (root, factory) {
if (typeof define === 'function' && define.amd) define(['exports'], factory);
else if (typeof exports === 'object') factory(exports);
else factory(root.GlobalObject = {});
})(this, function (exports) {
// Module definition here
});

如果我想将属性附加到导出的对象,这非常有用,但是如果我只想从这个定义返回一个构造函数,并且让所有三个系统都能够加载此模块并直接使用返回的函数,该怎么办,而不是必须返回对象文字并访问构造函数作为文字的属性?

最佳答案

以下内容适用于 AMD (RequireJS) 和 Node:

(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define([ 'module' ], function (module) {
module.exports = factory();
});
} else if (typeof module === 'object') {
module.exports = factory();
} else {
root.GlobalFunction = factory();
}
}(this, function () {
'use strict';

function MyFunction() {
}

return MyFunction;
}));

关于javascript - 如何使用 UMD 定义单个对象构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795532/

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