AMD,CMD,commonJS,ES6

AMD 异步模块定义

RequireJS 是一个JavaScript模块加载器,会在相关的js加载后执行回调函数,这个过程是异步的,所以它不会阻塞页面。作用:我写了一个点击事件,放到了一个js文件里,并在html引用,在不使用require.js的情况下,页面加载它跟着加载,使用后则是什么时候触发点击事件,什么时候才会加载js。

require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){
   ...
});     //当指定的模块加载成功后,它将被回调函数调用

AMD :通过define()函数定义,第一个参数是一个数组,里面定义一些需要依赖的包,第二个参数是一个回调函数,通过变量来引用模块里面的方法,最后通过return来输出。

CMD同步模块定义

没有依赖前置,在什么地方使用到插件就在什么地方require该插件,即用即返。
遍历所有的require关键字,找出后面的依赖,将function toString后,用正则匹配出require关键字后面的依赖。

define(function(require, exports, module) {
  var a = require('./a')
  a.doSomething()
  var b = require('./b')
  b.doSomething()
})
commonJS

通过require来加载模块;
通过exports和modul.exports来暴露模块中的内容;
输出方式有2种:默认输出---module export 和带有名字的输出---exports.area

ES6

import,export

你可能感兴趣的:(AMD,CMD,commonJS,ES6)