YUI3 でオブジェクトの名前空間を作成してインスタンス化する方法がわかりません。以下の例では、YUI3 モジュールを作成し、それを YUI.use メソッドにロードして、名前空間を使用してオブジェクトをインスタンス化しようとしています。これは機能しませんが、誰かが理由を指摘できますか? 新しいオブジェクトをインスタンス化しようとすると、「オブジェクトは関数ではありません」というエラーが表示されます。
test-module.js
YUI.add('test-module', function(Y){
var TestModule = {
url: '',
/* Example function */
doExample: function(){
console.log("doExample called");
}
}
// expose this back to the Y object
Y.namespace('SANDBOX.Test').TestModule = TestModule;
}, 1.0, {requires:['node']});
index.html
YUI({
modules:{
'test-module': {
fullpath: 'js/test-module.js',
requires: ['node']
}
}
}).use('test-module', function(Y){
var testModule = new Y.SANDBOX.Test.TestModule(); //this throws the error
testModule.doExample();
});