CMD AMD Commonjs

來源:互聯網
上載者:User

標籤:amd   依賴   非同步   封裝   相互   概念   檔案   前端   規範   

第一次發博文 難免有點小緊張 畢竟菜鳥害怕大神 。回到正題 為什麼要有CommonJS? 首先 對我們起初的javascript,沒有模組的概念 致使我們的小指令碼僅僅在前端瀏覽器上面 發出它小小的光芒 ,於是一幫歐洲的帥小夥想要把Commonjs 應用到前端上來 這個時候就在JS中有了Commonjs規範 它的提出就是為瞭解決沒有模組這個概念的瓶頸 它規定每一個js檔案都是一個模組 模組與模組之間可以相互依賴 每個模組都是一個獨立的範圍  那模組與我們的函數封裝又有什麼區別呢 顯然 我們的函數封裝是會汙染到全域的 也許有的寶貝們會說 可以通過對象方式 把功能模組作為對象的方法 這樣不就避免了汙染的這個問題 答案是可以的 但是這樣外部人員可以隨時修改我們的內部屬性 ,是不安全的,  模組的提出 解決了js中全域變數“汙染”全域的問題。 但是我們的Commonjs由於是同步載入 對於我們天生非同步瀏覽器來說 是不行的 這造成Commonjs只能在我們node平台上運行 因為它其實就是屬於後端的東西,於是出來了AMD CMD兩個規範, AMD屬於革命派  CMD屬於改良派 。它們的代表分別為 requirejs和seajs 。它們都是define去定義一個模組 都是定義非同步載入 AMD是用return的方式去輸出一個模組 而CMD則保留了commonjs的moudle.exports方式去輸出一個模組 在載入模組的時候  AMD是一種依賴前置的方式 對於要依賴的模組 在require的參數數組中全部羅列出來 而CMD是一種依賴後置的方式 需要依賴哪個模組 我就給你載入哪個模組。

CMD AMD Commonjs

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.