Javascript reuqure.js如何将主模块划分为子模块
伙计们。我有一些关于如何在我的项目中使用require.js的问题 我有一些模块。例如: obj.jsJavascript reuqure.js如何将主模块划分为子模块,javascript,requirejs,Javascript,Requirejs,伙计们。我有一些关于如何在我的项目中使用require.js的问题 我有一些模块。例如: obj.js var MyModule = (function(){ var myObject = function(){ this.options = { foo: 'foo', bar: 'bar' }; }; myObject.prototype.foo = function(){ con
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拆分为一些子模块呢?例如在模块中,我有一个对象,它的构造函数和两个方法。我是否可以将构造函数放入文件中,例如“mymodule.myobject.js”,将foo放入“mymodule.myobject.foo.js”,将bar放入“mymodule.myobject.bar.js”,并将其与require.js一起使用?如果是真的,我该怎么做呢?你可以用这种方式。需要以下文件结构
- 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();
}
}
})