AMDとCMDの違い
1004 ワード
AMDは、RequireJSがモジュール定義のプロモーションプロセスにおける規範化出力である.CMDはSeaJSがモジュール定義の標準化出力をプロモーション中に行うものです.同様に、Common JS Modules/2.0規格もあります.BravoJSは普及過程でモジュール定義の規範化生産です.これらの規範の目的はJavaScriptのモジュール化のために開発されています.特にブラウザの端にあります.これらの仕様の実現は、ブラウザ側のモジュール開発の目的を達成することができます.違い:は、依存するモジュールに対して、AMDは予め実行され、CMDは遅延実行される.但し、RequireJSは2.0から遅延実行可能に変更されました.CMD推賞as lazy as possible. CMDは、依存性が近く、AMDは前置依存を推奨する.コードを参照してください.// AMDのAPIはデフォルトでは、複数の使用時に、CMDのAPIは厳密に区別され、職責単一を尊重する.たとえばAMDの中で、requireは大域requireと局部requireに分けて、すべてrequireと言います.CMDでは、グローバルrequireではなく、モジュールシステムの完全性によって、seajs.useを提供してモジュールシステムのロード起動を実現します.CMDでは、APIはシンプルで純粋です.
CMDdefine(function(require, exports, module) { var a = require('./a') a.doSomething()
/ここで100行を略してvar b = require('./b') // b.doSomething() // ... })
/AMDのデフォルトで推奨されているのはdefine('./a'、'./b')、function(/依存は最初からa.doSomething()//ここで100行を略してb.doSomething())))である.しかし、RequireJSの作者はデフォルトでは上の書き方が一番好きです.公式文書ではデフォルトのモジュール定義の書き方です.