我正在研究一個大的Backbone.js應用程序。該代碼採用模塊化結構,使用require.js
。 現在我看到很多的骨幹代碼和教程這樣做:將變量賦值給Backbone.js中的窗口對象
window.app = (window.app || {});
後,他們將指派模型定義和集合實例到全局對象,像這樣:
Task = Backbone.Model.extend({ /*...*/ });
Tasks = Backbone.Collection.extend({ /*...*/ });
window.app.Task = Task;
window.app.Tasks = new Tasks();
// do this with all your models and collections
我喜歡這種方法對於其簡單性以及無需處理何時何地實例化集合。但不知怎的,首先使用require.js
將所有代碼分配到一個全局變量(除了全局變量通常是javascript中的錯誤代碼風格之外)之後,將代碼分離成微小的比特似乎是錯誤的。
那麼你對此有什麼看法,這種方法有哪些優缺點?你如何處理Backbone中的對象?
在requirejs中仍然使用'app'變量是否是傳統的? –