2012-08-07 159 views
13

我正在製作一個JavaScript應用程序。通常我做的是製作不同的模塊,並在$(document).ready();函數中獲取用戶輸入或點擊事件。這適用於小型應用程序。但是,當我遵循相同的模式,我的意思是獲得點擊事件$(document).ready();然後它變得混亂。組織javascript代碼

那麼我怎麼能組織這個文件的一個巨大的應用程序?

在此先感謝

+3

我恭敬地不同意downvote;你必須從某個地方開始。但是,al0ne可能會考慮擴大這個問題,以通過代碼顯示「雜亂門檻」發生的地方。 – cantera 2012-08-07 09:42:33

+1

@ cantera25它是有道理的。亂七八糟,我的意思是這個代碼在單個文件中可能達到一千多行。我不要那個。 – 2619 2012-08-07 09:52:11

回答

12

單最好的資源,我在這個問題上發現的是阿迪·奧斯馬尼的創作共用書,Patterns for Large-Scale JavaScript Application Architecture。它的部分基礎是Nicholas Zakas'Scalable JavaScript Application Architecture,將其應用於經典的設計模式和現代化的工作流程。

一旦您的複雜程度達到中等水平,您將從使用MVC體系結構模式變體構建的框架中受益。 Backbone.js是領跑者,是一個微觀框架,這意味着它比其他人少手持。其他受歡迎的選擇是Ember.jsKnockoutJS

擴展和樣板也建立在這些框架上以處理重複的任務,如數據/模型綁定和腳手架。對於Backbone,請查看Derick Bailey的Backbone.MarionetteBackbone Aura,這是一種不完全準備好的適用於使用Backbone構建的Osmani/Zakas架構模型作爲其主幹的骨幹。

6

JavaScript是一種腳本語言,結構是大型JavaScript項目中最重要的問題之一。重要的是你的應用程序的部分是很好的分離和「獨立」的。例如,您可以在單個文件夾中創建自己的具有自己的模板,邏輯,樣式,本地化等的UI組件。這種自我控制能讓你以一種可管理的方式組織你複雜的前端代碼。

一旦你的代碼被組織起來,並且自包含,你還需要解決其他問題。

  • 應當如何進行這些鬆散耦合的組件用了緊耦合
  • 我應該如何優化這些單個部件快速加載在我的生產ENV

我BoilerplateJS參考架構爲作者互動大規模應用。

http://boilerplatejs.org

它集成了大部分的尼古拉斯Zakas'presentation討論的最佳做法。您還可以在代碼中找到模塊化產品套件的示例實現。看一看,您將瞭解在使用JavaScript進行大規模應用時需要注意的問題。