CommonJS的出发点是由于js没有模块系统,标准库少,缺乏包管理工具,为了能让js可以在任何地方运行,以达到想java等后台语言具备开发大型应用的能力。CommonJS规范主要分为三部分,模块引用,模块定义,模块标识。
1. CommonJS规范中:
一个文件就是一个模块,拥有单独的作用域;
普通方式定义的变量,函数,对象都属于该模块内;
通过require来加载模块;
通过exports和modul.exports来暴露模块中的内容;
2. CommonJS模块规范的好处
CommonJS规范很好的解决了变量污染问题,每个模块具有独立的空间,互不干扰,命名空间等方案与之相比相形见绌;
CommonJS规范定义模块十分简单,接口十分简洁;
CommonJS规范支持引入和导出功能,这样可以顺畅的链接各个模块,实现彼此间的依赖关系。