1. 程式人生 > >require-js-模組化 CMD AMD

require-js-模組化 CMD AMD

模組化的標準
有了模組,我們就可以更方便地使用別人的程式碼,想要什麼功能,就載入什麼模組。這樣做有一個前提,那就是大家必須以同樣的方式編寫模組,否則你有你的寫法,我有我的寫法,豈不是亂了套! 

CommonJS:是一個模組化的標準,Node.js在使用的模組化標準。適用與後端開發的標準。
AMD(Async Module Definition):在CommonJS基礎上衍生出來的適用於前端開發的模組化標準。
特點:預載入,第一次訪問時,將所有的檔案都加載出來。
優點:第一次訪問完成以後,再次訪問速度會很快
缺點:第一次載入,需要的時間會比較長
代表:requirejs
CMD(Common Module Definition):

在CommonJS基礎上衍生出來的適用於前端開發的模組化標準。
特點:懶載入,只有使用到的時候,才會載入對應的模組。
優點:第一次訪問速度會比較快
缺點:再次訪問其他模組時會比較慢。
代表:seajs


require.JS
require.js概念
requirejs是AMD規範的一個實現,require.js是一個javascript檔案,也是一個模組載入器。模組載入器:相當於canvas中封裝的圖片載入器,只不過一個是載入圖片的,一個載入js,檔案的型別不一樣。

requirejs主要提供兩大功能:

載入模組:可以載入AMD規範的模組,也可以是普通的模組,非同步載入,並且能夠管理模組之間的依賴。
規範了模組的定義:有助於不同模組之間的共享與依賴。

requirejs的優點:

提高了javascript檔案的載入速度,避免不必要的堵塞。
獨特的模組定義方式可以避免全域性變數汙染。
獨特的模組定義方式可以在指令碼層面宣告模組之間的依賴。

API詳解

requirejs一共對外暴露三個全域性變數

  1. requirejs - 用於載入模組
  2. require - 用於載入模組
  3. define - 用於定義模組

requirerequirejs是同一個函式,類似於$jQuery的關係

 

---------------------
作者:夢行天宇001
來源:CSDN
原文:https://blog.csdn.net/u014440483/article/details/77737449?utm_source=copy