四つのよくあるJSモジュール化管理方法の比較

1073 ワード

CMDは依存が近いことを推賞して、AMDは前を推賞します.
// CMD
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
//      100  
var b = require('./b') //         
b.doSomething()
// ... 
})

// AMD       
define(['./a', './b'], function(a, b) { //           
a.doSomething()
//      100  
b.doSomething()
...
}) 
構文
common JS
ES 6
AMD
CMD
エクスポート
module.export={}export={}
export default{}export var a=10
define(id?:String、dependencies?:String[],factory:Function(Object);
define{};
インポート
require(‘module’)
import module from‘module’
require([[myModule]]],function(}
var a=require('./a');require.asyncc('./b',function(b){}
読み込み
ダイナミック–同期
静的
ダイナミック–非同期
ダイナミック–同期または非同期
エクスポートするオブジェクト
コピー
参照
複数エクスポート
同一のオブジェクト
モジュールスコープ
ファイル
ファイル
ファイル
ループローディング時
実行した部分を読み込みます.
開発者コントロール(玄学)
nodeサポート
はい、
いいえ、
はい、
典型的な環境
nodejs
(babel、vue)
requireJs
Sea.js