1、commons.js规范
适应于服务端模块化,同步加载模块。node.js按照该规范。 require 加载 module.export导出
2、AMD规范
异步模块定义,适应于浏览器模块化,异步加载模块。RequireJs按照该规范。
模块定义:define([依赖的模块], function(){ //自定义模块 })
模块加载:require([依赖的模块], function(){ //回调 })
3、CMD规范
通用模块定义,和AMD的区别在于定义方式上和模块的执行时机上。SeaJs按照该规范
定义模块: define(function( require, exports, module ){ })
什么时候执行什么时候require
4、ES6模块化
跟commos.js规范的不同在于1、加载:import from 2、导出 export 3、es6是在编译时候加载,commose.js是在运行时加载
es6需要写在最前面,而require可以现在任何位置