gpt4 book ai didi

javascript - 允许模块与 AMD/CommonJs 或脚本标签一起工作的包装器?

转载 作者:可可西里 更新时间:2023-11-01 01:25:34 25 4
gpt4 key购买 nike

我刚刚尝试包装我们的一个模块,该模块将通过 <script> 包含在内在一些样板中标记以允许使用 requirejs 加载可选的 AMD。

这很痛苦,我能想到的最好办法是:

(function(){
var exports, jQuery;
if (typeof window.define === 'function' && typeof window.requirejs === 'function') {
exports = {};
define(['jquery'], function (jq) {
jQuery = jq;
return thisModule();
});
} else {
exports = window;
jQuery = window.jQuery;
thisModule();
}


function thisModule() {
}

})();

注意这是

  • 大量样板文件
  • 要求您在变量中声明依赖项(谢天谢地,在这种情况下只有 jQuery)和 amd
  • 如果我想获得 CommonJs 支持,还需要更多代码。

我主要关心的是第二点,因为当我超出包装我们的核心文件时,那一点会很麻烦。我确定那里有一些简洁的(呃)包装器实现,但我找不到。

有人有什么建议吗?

最佳答案

你试图重新创建已经存在的东西,我做了完全相同的事情,在 my StackOverflow question 中提出了一个稍微不同的解决方案.

长话短说,您需要知道的名称是“通用模块定义”,并且 GitHub 位于 https://github.com/umdjs/umd。具有各种不同的实现。

关于javascript - 允许模块与 AMD/CommonJs 或脚本标签一起工作的包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736661/

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