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#

nodejs 中自帶的模塊化如下:
1.require,ES6 : 支持引入
2.module.exports : 對外批量導出
3.exports: 對外一個一個導出

//nodejs自帶模塊:require
const fs = require('fs');
//nodejs自帶模塊:module.exports, exports
const EventEmitter = require('events');
module.exports = new EventEmitter();
// 處理一些工作,並在一段時間後從模塊自身觸發 'ready' 事件。
setTimeout(() => {
  module.exports.emit('ready');
}, 1000);

ES Modules#

export 和 import 兩個命令分別如下:
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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。