您可以使用我所謂的需要js模塊模式。如果你知道一組類經常一起使用,你可以做這樣的事情。
首先,你在一個單獨的文件中定義的每個類,然後你定義一個模塊來結合在一起,
Module.js
define([
'./models/FirstModel',
'./models/SecondModel',
'./views/FirstView',
'./views/SecondView',
'txt!./templates/template.tpl'
], function(FirstModel, SecondModel, FirstView, SecondView, template) {
return {
FirstModel: FirstModel,
SecondModel: SecondModel,
FirstView: FirstView,
SecondView: SecondView,
template: template
}
});
然後當你想使用類從這個模塊你只是做
define(['./Module'], function(Module) {
var AView = Module.FirstView.extend({
model: Module.FirstModel,
render: function() {
this.html(_.template(Module.template)(this.model.attributes));
if (something) {
this.$el.append(new Module.SecondView().render().el);
}
}
})
return AView;
});
我不相信使用requirejs定義的模塊,我們應該返回一個實例 - 我們應該總是返回一個構造函數或一個對象。
你應該完全接受定義和要求 - 隨着時間的推移,你會開始喜歡它 - 而不必考慮添加/跟蹤依賴關係等等,無處不在手動或(所以2005年!)擁有大部分內容一個文件:)
絕對完全真棒。謝啦!我希望我能給你更多的聲望...... – 2012-02-02 02:15:52
是幫助是足夠的:) – 2012-02-02 12:17:56