MoonCheung

MoonCheung

人生路漫漫,何曾有坦途。:)

モジュール化の計画

AMD#

RequireJS を使用してモジュール化定義規格を作成し、主にブラウザ側で使用されます。特徴は、依存関係を事前に宣言する必要があることです。

define('./index.js', function(code) {
    // codeはindex.jsの返り値です
});

CMD#

SeaJS を使用してモジュール化定義規格を作成し、主にブラウザ側で使用されます。特徴は、動的な依存関係のファイルをインポートすることができることです。

define(function(require, exports, module) {
  var indexCode = require('./index.js');
});

UMD#

UMD:AMD と CommonJS のモジュール化構文に対応しています。

webpack(require.ensure):webpack 2.xのコード分割機能です。  

CommonJS#

Node.js に組み込まれているモジュール化構文は以下の通りです:

  1. require,ES6 : インポートをサポートします
  2. module.exports : 外部に複数のモジュールをエクスポートします
  3. exports: 一つずつ外部にエクスポートします
//Node.jsの組み込みモジュール:require
const fs = require('fs');
//Node.jsの組み込みモジュール:module.exports, exports
const EventEmitter = require('events');
module.exports = new EventEmitter();
// いくつかの作業を処理し、一定時間後にモジュール自体から 'ready' イベントをトリガーします。
setTimeout(() => {
  module.exports.emit('ready');
}, 1000);

ES Modules#

export と import の 2 つのコマンドは以下のようになります:
export:定義したモジュール変数をエクスポートします
import:モジュール変数をインポートします

//ES6 export:a.jsファイルをエクスポートする場合:export { one,two }
export default three
//ES6 import:ファイルをインポートする場合:
import  { one, two }  three from 'a.js'

上記の AMD、CMD、UMD の内容は、Githubから引用しました。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。