前端模塊化規範Commonjs/Amd/Cmd

簡單描述下區別:html

Commonjs: 用於服務器端, 經過export導出模塊,require加載模塊,module表示模塊自己,加載過程爲同步, 不適合客戶端. nodejs是用commonjs規範node

寫法: a.js     var a = function(x) {console.log(x)};   module.export = a;服務器

    b.js     var b= reuqire('./a.js);   b('啦!!');異步

Amd: 常見實現庫requirejs, 異步加載requirejs

寫法: ui

// module1.js spa

define(htm

{blog

    methodA: function() {ip

  console.log('我是module1的methodA');

    },

    methodB: function() {

  console.log('我是module1的methodB');

    }

})

// module2.js

define(function () {

    return {

  methodA: function() {

    console.log('我是module2的methodA');

  },

  methodB: function() {

    console.log('我是module2的methodB');

  }

    };

});

// module3.js

define(['module1', 'module2'], function(m1, m2) {

    return {

  methodC: function() { m1.methodA(); m2.methodB();}

     };

});

// main.js

require(['module3'], function(m3){ m3.methodC(); });

 

// main.html

<script data-main="main" src="require.js"></script>

 

Cmd跟Amd相似

// CMD

define(function(require, exports, module) {

var a = require('./a');

a.doSomething();  // 此處略去 100 行

var b = require('./b');// 依賴能夠就近書寫

b.doSomething();

// ...

})

 

 

注: 參考 https://www.cnblogs.com/lishuxue/p/6000205.html

相關文章
相關標籤/搜索