JavaScript模块化规范

1、无规范
一个文件一个模块,缺点污染全局作用域。

2、CommonJS
Node,Webpack支持
一个文件一个模块,模块变量不污染全局变量。
通过require来同步加载所依赖模块。
通过exports或者module.export导出需要暴露的接口。
服务器端从本地磁盘加载文件,同步加载没有问题,但同步加载不适合浏览器。

3、AMD
非同步加载,允许回调函数。require.js 实现了AMD规范。
两个API:
require([module],callback)
define(id,[depends],callback)
也支持CommonJS的模块导出
缺点不能按需加载,而且必须提前加载所有依赖。

4、CMD
sea.js库实现的规范,可以按需加载,依赖就近。

5、ES6 Module
Import
export

你可能感兴趣的:(JavaScript模块化规范)