Node 12 AMD、CDM、UMDモジュールの書き方

2785 ワード

AMD
AMDは1ステップモジュール仕様であり、RequireJSはこの仕様を採用して実現している.
//    : foo.js
define(['jquery'], function ($) {
    //   
    function myFunc(){};

    //       
    return myFunc;
});

定義された最初の部分は依存配列であり、2番目の部分はコールバック関数であり、依存コンポーネントが使用可能な場合にのみコールバック関数が実行されます.
CommonJS
NodeはCommonJS仕様に従っています
//    : foo.js
//   
var $ = require('jquery');
//   
function myFunc(){};

//       (  )
module.exports = myFunc;

UMD汎用モジュール仕様
UMDはAMDとCommonJSと互換性があり、グローバル仕様もサポートされています.
((root, factory) => {
  if (typeof define === 'function' && define.amd) {
    //AMD
    define(['jquery'], factory);
  } else if (typeof exports === 'object') {
    //CommonJS
    var $ = requie('jquery');
    module.exports = factory($);
  } else {
    //   ,       
    root.testModule = factory(root.jQuery);
  }
})(this, ($) => {
  //do something...           
});

リファレンス
  • https://github.com/hstarorg/HstarDoc/blob/master/%E5%89%8D%E7%AB%AF%E7%9B%B8%E5%85%B3/%E8%AE%A4%E8%AF%86AMD%E3%80%81CMD%E3%80%81UMD%E3%80%81CommonJS.md
  • http://web.jobbole.com/82238/