js模組載入之AMD和CMD

2022-07-10 02:09:08 字數 719 閱讀 9642

當我寫這篇文章的時候,sea.js已經逐漸退出歷史的舞台,詳細鏈結。不過任何新事物的出現都是對舊事物的取其精華,去其糟粕,所以了解一下以前模組的載入也是一件好事。

js模組化的原因自不比多說,看看hux同學的js模組載入七日談就知道了,將的非常詳細。

乙個js檔案就是乙個模組,定義如下:define(factory);

1.factory是乙個函式

define(function(require,exports,module);

或者define(function(require,exports,module)

另外,在require方法中還有乙個非同步載入方式:

require.async('./b',function(b)

});或者,

define("hello ,llei");

//id是模組識別符號,depends是依賴的模組。

define(id,[depends],function(require,exports,module));

針對上面的不合理之處,那麼直接使用cmd規範不就好了,然而:

不能直接壓縮:require是區域性變數,意味著不能直接的通過壓縮工具進行壓縮,若require這個變數被替換,載入器與自動化工具將無法獲取模組的依賴。

模組書寫有額外約定:路徑引數不能進行字串運算,不能使用變數代替,否則載入器與自動化工具無法正確提取路徑。

JS 模組化AMD和CMD

函式封裝 物件 立即執行函式 模組化規範 是一種專案的構架模式,這種構架模式讓js 重用性變得非常高,讓專案構架的一些複雜問題全部得以解決。例如,多個script標籤不會再出現了,我們只要用乙個script標籤進行引入就可以了。模組化那有兩個規範,amd規範和cmd規範,當然還有針對於nodejs後...

瀏覽器端模組載入器AMD和CMD

1.amd 非同步模組定義 amd 瀏覽器端模組化開發的規範。使用amd規範快發需要用到對應的庫函式requirejs,也即amd是requirejs在推廣過程中對模組定義的規範化的產出。requirejs主要解決兩個問題 requirejs作用 requirejs使用 引用載入自己寫的js檔案 j...

初識AMD和CMD模組化

今天發現了阮一峰大牛的部落格,收藏一下裡邊有好多文章值得讀哦 amd asynchronus module definition 非同步模組定義 語法 define id dependents factory amd 是 requirejs 在推廣過程中對模組定義的規範化產出。amd規範 cmd c...