RequireJsについて
1852 ワード
1:モジュール化を使用する理由ネーミング競合の解決 依存管理 コード可読性向上 コードデカップリング、多重性向上 2:CMD、AMD、CommonJS仕様はそれぞれ何を指しますか?どのようなアプリケーションがありますか?
この3つの仕様はjavascriptモジュール化に基づいており、コードをよりよく管理し、維持することができ、どのモジュールが必要なのか、どのモジュールをロードし、チームの協力を容易にすることができます. CMD CMD(Common Module Definition)は、SeaJsが推奨する仕様です.彼はamdとは異なり,両者とも非同期ロードモジュールであるが,cmdはどのモジュールをロードする必要があるか,すなわち緩やかなロードである.CMD仕様では、モジュールはファイルです. 構文 AMD AMD、すなわちAsynchronous Module Definitionは、「非同期モジュール定義」である.ブラウザ側でモジュール化された開発の仕様であり、RequireJsが推奨する仕様でもあります.彼はCMDとは異なり、フロントモジュールに依存し、事前にロードされ、つまりすべてのrequireが事前に実行される. 構文 COMMONJS CommonJSはサーバ側モジュールの仕様、Node.jsはこの規範を採用した.Node.JSはまずjsモジュール化の概念を採用した. CommonJS仕様によると、個別のファイルはモジュールです.各モジュールは、globalオブジェクトのプロパティとして定義されていない限り、個別の役割ドメインです.すなわち、モジュール内で定義された変数は、globalオブジェクトのプロパティとして定義されていない限り、他のモジュールに読み込めません.実はcmd仕様とはあまり差がなく、オンデマンドでロードされていますが、CommonJSはブラウザ側に適用できません. 構文
実戦
エンタープライズステーション
この3つの仕様はjavascriptモジュール化に基づいており、コードをよりよく管理し、維持することができ、どのモジュールが必要なのか、どのモジュールをロードし、チームの協力を容易にすることができます.
// module.js
define(function(requie, exports, module){
//
var $ = require('jquery.js')
$('div').addClass('active');
//
seajs.use(['myModule.js'], function(my){
});
})
import markdown
// a.js
define(['jquery'],function($){
var a =1;
return {
add1:function(){
return ++a
},
goShow:function(){
return $('div').show()
}
}
})
// main.js
require(['a'],function(a){
console.log(a.add1()) // 2
})
// a.js
var people = {
name:'huo',
sayName:function(){
console.log(this.name);
}
}
module.exports = people; //
// b.js
var p = require('./a');
console.log(p);
p.sayName()
実戦
エンタープライズステーション