前端刀耕火種到模組化開發
阿新 • • 發佈:2018-12-19
為什麼要模組化開發:
前端的模式完善在像後端看齊。速途同歸。
讀懂這篇文章:
前端模組化的誕生:
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的異同
最後附上需要深入瞭解連結: