CommonJS、AMD、UMD、ES Module傻傻分不清楚
背景
JavaScript
程序本来很小——在早期,它们大多被用来执行独立的脚本任务,在你的 web 页面需要的地方提供一定交互,所以一般不需要多大的脚本。过了几年,我们现在有了运行大量
JavaScript 脚本的复杂程序,还有一些被用在其他环境(例如 Node.js
)。
因此,近年来,有必要开始考虑提供一种将 JavaScript 程序拆分为可按需导入的单独模块
的机制。
本文要介绍的CommonJS
、AMD
、UMD
、ES Module
其实都是 JavaScript 中的 模块规范
。
CommonJS
简介
CommonJS
的模块规范如今被广泛使用,特别是用于使用Node.js
进行的服务器端 JavaScript 编程。也用于浏览器端JavaScript的开发,但由于浏览器不支持CommonJS
,代码必须用转译器(比如:browserify
)打包。- 该项目由Mozilla工程师 Kevin Dangoor 于 2009 年 1 月启动,最初命名为
ServerJS
。 - 2009 年 8 月,该项目更名为
CommonJS
,以展示API更广泛的适用性。
使用方法
1 | //------ a.js ------ |