定义:CommonJS模块是为Node.js打包Javascript代码的原始方式。Node.js还支持浏览器和其他Javascript运行时使用的ECMAScript模块标准。
在Node.js中,每个文件都被视为一个单独的模块。
概念:项目是由很多个模块文件组成的
好处:提高代码复用性,按需加载,独立作用域
使用:需要标准语法导出和导入进行使用
CommonJS标准(默认)
规定:
1.导出:module.exports={}
2.导入:require('模块名或路径')
模块名或路径:
1)内置模块:直接写名字(例如:fs,path,http)
2)自定义模块:写模块文件路径(例如:./utils.js)
ECMAScript标准-默认导出和导入
默认标准使用:
1.导出:export default{}
2.导入:import 变量名 from ‘模块名或路径’
注意:Node.js默认支持CommonJS标准语法
如需使用ECMAScript标准语法,在运行模块所在文件夹新建package.json文件,并设置{"type":"module"}
ECMAScript标准-命名导出和导入
命名标准使用:
1.导出:export修饰定义语句
2.导入:import {同名变量} from '模块名或路径'
如何选择:
1)按需加载,使用命名导出和导入
2)全部加载,使用默认导出和导入
命名导出和默认导出可以同时使用
选择标准
CommonJS标准:一般应用在Node.js项目环境中
ECMAScript标准:一般应用在前端工程化项目中