一、子產品化開發方案
前端發展到今天,已經有不少子產品化的方案,比如
CommonJS(常用在伺服器端,同步的,如nodejs)
AMD(常用在浏覽器端,異步的,如requirejs)(Asynchronous Module Definition)
CMD(常用在浏覽器端,異步的,如seajs)
UMD(AMD&& CommonJS) 這些子產品化規範的核心價值都是讓 JavaScript 的子產品化開發變得簡單和自然。

伺服器端子產品 在伺服器端,所有的子產品都存放在本地硬碟,可以同步加載完成,等待時間就是硬碟的讀取時間。
浏覽器端子產品: 在浏覽器端,所有的子產品都放在伺服器端,同步加載,等待時間取決于網速的快慢,可能要等很長時間,浏覽器處于"假死"狀态。是以,浏覽器端的子產品,不能采用"同步加載"(synchronous),隻能采用"異步加載"(asynchronous)。
二、CommonJs
CommonJs 是伺服器端子產品的規範,Node.js采用了這個規範。 CommonJS 加載子產品是同步的,是以隻有加載完成才能執行後面的操作。 像Node.js主要用于伺服器的程式設計,加載的子產品檔案一般都已經存在本地硬碟,是以加載起來比較快,不用考慮異步加載的方式,是以CommonJS規範比較适用。
CommonJS子產品的特點如下: 所有代碼都運作在子產品作用域,不會污染全局作用域。 子產品可以多次加載,但是隻會在第一次加載時運作一次,然後運作結果就被緩存了,以後再加載,就直接讀取緩存結果。 子產品加載的順序,按照其在代碼中出現的順序。
CommonJS文法
1、定義子產品