ここからAMD/CommonJSアダプターコードを入手しました: CommonJSとAMDの両方をサポートしています
(function (name, definition) {
if (typeof module != 'undefined') {
module.exports = definition();
}
else if (typeof define == 'function' && typeof define.amd == 'object') {
define(name, [], definition);
}
else {
this[name] = definition();
}
}('modXyz', {
sayHi:function (name) {
console.log('Hi ' + name + '!');
}
}
));
そのコードをCurlで使用して、すべてのコードをAMD/CommonJSと互換性のあるものにしたいと思います。私ができると期待していたのはこれでした:
greeter = curl(['modXyz']);
greeter.sayHi("Gracie");
しかし、curl
返されるオブジェクトは、私が期待しているオブジェクトではありません。私が得ることができる最も近いものはこれです:
curl(['modXyz'], function(mod) { window.greeter = mod; });
greeter.sayHi("Gracie");
これはAMDの目的を打ち負かすようです。curlはこのようなことを行うことができますか?それを実現するにはrequire.jsを使用する必要がありますか?