RequireJS を使用して、他の人の Web サイトで使用する JavaScript SDK を作成しています。私の RequireJS ビルド構成は、名前空間「myNamespace」を使用して、他の人の Web サイトに干渉することなく、私の 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.
});
2 つの RequireJS ライブラリを「混合」する方法はありますか? RequireJS 名前空間の詳細については、http://requirejs.org/docs/faq-advanced.html#rename を参照してください。