1、AMD是RequireJs在推广过程当中对模块定义的规范化产出。node
1 define(['package/lib'],function(lib){ 2 function foo(){ 3 lib.log("hello world"); 4 }; 5 return { 6 foo:foo 7 }; 8 })
特色是:依赖前置,异步模块定义异步
2、CMD是SeaJs在推广过程当中对模块定义的规范化产出。ui
1 //全部模块经过defined来定义 2 define(function(require,export,module){ 3 //经过require引入依赖 4 var $=require('jqurey'); 5 var spinning=require('./spinning'); 6 })
特色是:淘宝团队提供,依赖就近,同步概念即用即加载模块。spa
3、CommonJs规范,module.exportscode
1 exports.area=function(r){ 2 return Math.PI*r*r; 3 } 4 5 exports.circumference=function(r){ 6 return 2*Math.PI*r; 7 }
特色是nodeJs后台采用的规范blog
4、ES6特性export/importci
特色是成对出现,只有处处才能导入。同步