node.js遵循了CommonJS的模块化规范。
导入其他模块使用require()方法。
模块对外共享成module.exports对象。
大家都遵循同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用。
在es6模块化诞生之前,JavaScript社区是用AMD、CMD、CommonJS等模块化规范。
AMD、CMD适用于浏览器端。
CommonJS适用于服务器端。
大多数模块化规范给开发者增加了学习的难度和开发的成本。因此,es6模块规范诞生了。
es6模块化规范中定义:
每个js文件都是一个独立的模块。
导入其他模块成员使用import关键字。
向外共享模块成员使用export关键字。
在node.js中支持CommonJS模块化规范,若想基于node.js学习es6模块化的语法,可以按照如下两个步骤进行配置:
在package.json的根节点中添加”type”:”module”节点。
快速初始化一个包管理配置文件-package.json的命令:
npm init -y
命令可以在代码终端进行,如果有问题,可以配置环境变量。
默认导出与默认导入
默认导出语法:export default { 默认导出的成员(变量或函数) }
注意事项:在每个模块中使用唯一的一次export default,否则会报错。
默认导入语法:import 接受名称 from ‘模块标识符’
例子:import m1 from ./out.js
注意事项:接受名称只要合法就行。
注意事项:终端写命令的时候,如果出现module找不到的问题,那么就要看路径有没有问题。
cd 路径地址 → 可以切换路径
cls → 清除
按需导出与按需导入
按需导出语法:export 按需导出的成员
按需导入语法:import { s1 } from ‘模块标识符’
注意事项:如果有多个成员变量,就用逗号隔开。
每个模块中可以使用多次按需导出。
按需导入的名称与按需导出的名称保持一致。
按需导入时,可以使用as关键字进行重命名。
按需导入可以和默认导出一起使用。
直接导入并执行模块中的代码
语法:import ‘./direct-run.js’