1. 程式人生 > >前端刀耕火種到模組化開發

前端刀耕火種到模組化開發

為什麼要模組化開發:

前端的模式完善在像後端看齊。速途同歸。

讀懂這篇文章:

前端模組化的誕生:

CommonJS:

2009年,美國程式設計師Ryan Dahl創造了node.js專案,將javascript語言用於伺服器端程式設計。這標誌"Javascript模組化程式設計"正式誕生。 NodeJS是CommonJS規範的實現,webpack 也是以CommonJS的形式來書寫。(其實2007年國外模組化已經出現)

CommonJS是同步載入模組的。對於後端,載入模組的速度取決於計算機硬碟的讀寫速度(速度很快)。但是對於前端。我們需要等模組載入完畢才能執行相對應的操作。這個時候瀏覽器會處在假死狀態(js語言單執行緒決定的)。

AMD:

對於以上問題。對於模組載入。我們需要執行非同步操作,不能同步去處理。由此就出現非同步載入的規範 AMD。AMD是"Asynchronous Module Definition"的縮寫。意思就是"非同步模組定義"。它採用非同步方式載入模組,模組的載入不影響它後面語句的執行。所有依賴這個模組的語句,都定義在一個回撥函式中,等到載入完成之後,這個回撥函式才會執行。

CMD:

大名遠揚的玉伯寫了seajs,就是遵循他提出的CMD規範,與AMD蠻相近的,不過用起來感覺更加方便些,最重要的是中文版,應有盡有:seajs官方doc

對比AMD和CMD的異同

最後附上需要深入瞭解連結: