我正在使用 RequireJS 创建一个 JavaScript SDK,以便在其他人的网站上使用。我的 RequireJS 构建配置使用命名空间“myNamespace”,以便我的 SDK 可以与它自己的 RequireJS 版本捆绑在一起,而不会干扰其他人的网站。虽然这可以按预期工作,但在尝试从另一个 RequireJS 模块中要求我的 SDK 模块时遇到了问题:
myNamespace.define('public1', function (require) {
var public2 = require('public2');
return { x: 1, y: public2.y };
});
myNamespace.define('public2', function (require) {
return { y: 1 };
});
define(function (require) {
var private1 = require('private1');
var private2 = require('private2');
var public1 = myNamespace.require('public1'); // This doesn't work as it isn't using the provided `require` method.
});
任何想法如何“混合”这两个 RequireJS 库?有关 RequireJS 命名空间的更多信息:http ://requirejs.org/docs/faq-advanced.html#rename