人。我有一些关于如何在我的项目中使用require.js的问题。
我有一些模块。例如:
obj.js
var MyModule = (function(){
var myObject = function(){
this.options = {
foo: 'foo',
bar: 'bar'
};
};
myObject.prototype.foo = function(){
console.log(this.options.foo);
};
myObject.prototype.bar = function(){
console.log(this.options.bar);
};
return {
getMyObject : function(){
return new myObject();
}
}
})();
使用我的对象作为实体我没有问题。我在obj.js中附加了这段代码:
define(function(){
return MyModule;
})
并在我的app.js模块中使用它
requirejs.config({
baseUrl : 'lib',
paths : {
app:'../js/app'
}
});
require(['app/obj'], function(MyModule){
var someObj = MyModule.getMyObject();
someObj.foo();
someObj.bar();
});
一切都好。但是我如何将MyModule拆分为一些子模块呢?例如。在模块中,我有1个对象,它的构造函数和两个方法。我可以将构造函数放到文件中,例如'mymodule.myobject.js',foo到'mymodule.myobject.foo.js'并禁止'mymodule.myobject.bar.js'并将它与require.js一起使用?如果确实如此,我该怎么做?
答案 0 :(得分:0)
你可以用这种方式。期待以下文件结构
- js
-- constructors
--- objectCostructor.js
-- objects
--- objectModule.js
所以objectCostructor.js
是:
define(function(){
return myObject = function(){
this.options = {
foo: 'foo',
bar: 'bar'
}
}
})
objectModule.js
define(['constructors/objectCostructor'], function(Const){
Const.prototype.foo = function(){
console.log(this.options.foo);
};
Const.prototype.bar = function(){
console.log(this.options.bar);
};
return {
getMyObject : function(){
return new Const();
}
}
})