我正在製作一個JavaScript應用程序。通常我做的是製作不同的模塊,並在$(document).ready();
函數中獲取用戶輸入或點擊事件。這適用於小型應用程序。但是,當我遵循相同的模式,我的意思是獲得點擊事件$(document).ready();
然後它變得混亂。組織javascript代碼
那麼我怎麼能組織這個文件的一個巨大的應用程序?
在此先感謝
我正在製作一個JavaScript應用程序。通常我做的是製作不同的模塊,並在$(document).ready();
函數中獲取用戶輸入或點擊事件。這適用於小型應用程序。但是,當我遵循相同的模式,我的意思是獲得點擊事件$(document).ready();
然後它變得混亂。組織javascript代碼
那麼我怎麼能組織這個文件的一個巨大的應用程序?
在此先感謝
單最好的資源,我在這個問題上發現的是阿迪·奧斯馬尼的創作共用書,Patterns for Large-Scale JavaScript Application Architecture。它的部分基礎是Nicholas Zakas'Scalable JavaScript Application Architecture,將其應用於經典的設計模式和現代化的工作流程。
一旦您的複雜程度達到中等水平,您將從使用MVC體系結構模式變體構建的框架中受益。 Backbone.js是領跑者,是一個微觀框架,這意味着它比其他人少手持。其他受歡迎的選擇是Ember.js,KnockoutJS。
擴展和樣板也建立在這些框架上以處理重複的任務,如數據/模型綁定和腳手架。對於Backbone,請查看Derick Bailey的Backbone.Marionette和Backbone Aura,這是一種不完全準備好的適用於使用Backbone構建的Osmani/Zakas架構模型作爲其主幹的骨幹。
JavaScript是一種腳本語言,結構是大型JavaScript項目中最重要的問題之一。重要的是你的應用程序的部分是很好的分離和「獨立」的。例如,您可以在單個文件夾中創建自己的具有自己的模板,邏輯,樣式,本地化等的UI組件。這種自我控制能讓你以一種可管理的方式組織你複雜的前端代碼。
一旦你的代碼被組織起來,並且自包含,你還需要解決其他問題。
我BoilerplateJS參考架構爲作者互動大規模應用。
它集成了大部分的尼古拉斯Zakas'presentation討論的最佳做法。您還可以在代碼中找到模塊化產品套件的示例實現。看一看,您將瞭解在使用JavaScript進行大規模應用時需要注意的問題。
我恭敬地不同意downvote;你必須從某個地方開始。但是,al0ne可能會考慮擴大這個問題,以通過代碼顯示「雜亂門檻」發生的地方。 – cantera 2012-08-07 09:42:33
@ cantera25它是有道理的。亂七八糟,我的意思是這個代碼在單個文件中可能達到一千多行。我不要那個。 – 2619 2012-08-07 09:52:11