AMD模組化規範

admin發表於2017-07-13

JavaScript 模組化優缺點一章節介紹了當前模組化的重要性和便利性。

但是模組必須要符合統一的規範,否則就無法便捷的共享程式碼。

除了ES2015提供的模組規範,當前廣泛應用的Javascript模組規範共有兩種:

(1).CommonJS。

(2).AMD。

一.CommonJS規範:

此規範適用於伺服器端,例如node.js模組系統就是遵照此規範的。

簡單程式碼演示如下:

[JavaScript] 純文字檢視 複製程式碼
let ant= require('ant');

全域性性方法require(),用於載入模組;上面就是載入了一個名為"ant"的模組。

模組載入完成之後,就可以使用模組中的元素了,程式碼演示如下:

[JavaScript] 純文字檢視 複製程式碼
let ant= require('ant');
ant.do()

二.AMD規範:

非同步操作在瀏覽器環境下特別的重要,比如我們要遠端請求伺服器一個較大檔案,如果這個過程不是非同步,那網頁肯定要卡死,人性化程度特別低,所以瀏覽器端的模組需要非同步載入,CommonJS規範不適合。

AMD的全稱是"Asynchronous Module Definition"(非同步模組定義),採用非同步方式載入模組,所以不會在瀏覽器端造成堵塞。看一段簡單的程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
require([module], callback);

require.js符合AMD規範;第一個引數是陣列,裡面的成員就是要載入的模組;第二個引數callback,則是載入成功之後要執行的回撥函式。

模組的載入和模組中元素的使用是非同步的,所以適合於瀏覽器端。

相關文章