CommonJS实现了Javascript的模块化规范,规范了模块的特性和各模块之间的相互依赖性,使得代码可以更好的编写和维护,同时提高了代码的复用性。定义每个文件都是一个模块(module变量代表当前模块)并有自己的作用域,而每个文件里面定义的变量、函数、类,都是私有的,对于其他模块是不可见。模块的exports属性是对外的接口,只有通过 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 exports导出的属性才能被加载识别。Node就是基于CommonJs规范实现的,因为CommonJS规范加载模块是同步的,而服务器中的Node模块都直接存储在服务器本地硬盘中的,加载起来自然比较快,可以说node项目是CommonJs规范目前的最好实践应用。
[](()ECMAScript 6 (简称ES6)
ECMAScript是(European Computer Manufacturers Association Script)的缩写,它是由ECMA国际标准化定制的一项JavaScript脚本语言的标准化规范。ECMAScript 6 是ECMA在2015年发布的JavaScript 的规范标准,解决 ES5 的很多先天不足并引入了模块化思想。ES6模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系以及输入和输出的变量。
[](()import
import是ES6中的语法标准也是用来加载模块文件的,import函数可以读取并执行一个JavaScript文件,然后返回该模块的export命令指定输出的代码。export与export default