ES6模块化
ES6模块开发规范是客户端和服务端通用的模块开发规范
ES6模块化开发规范中定义:
- 每个js文件都是一个独立的模块
- 使用import关键字导入其他模块成员
- 使用export关键字导出其他模块成员
在node.js中体验ES6模块化开发
因为node.js默认的是CommonJS模块化规范,要使用ES6模块化规范需要进行以下两个步骤的配置:
- 安装v14.15.1或更高版本的node.js
- 通过 npm init -y命令快速初始化一个包管理配置文件package.json,然后在package.json的根节点中添加"type":"module"节点。
ES6模块化的基本语法
- 默认导出与默认导入
- 按需导出与按需导入
- 直接导入并执行模块中的代码
默认导出:export default 导出成员
let n1 = 1;//定义模块私有成员n1 let n2 = 2;//定义模块私有成员n2 function show(){};//定义模块私有方法show //使用export default默认导出语法,向外共享n1和show 两个成员 export default{ n1,n2 }
⚠️ 每一个模块中,只允许使用唯一的一次export default,否则会报错!
默认导入:import 接收名称 from '模块标识符(模块路径)'
//从默认导出.js文件里导入export default向外共享的成员 //并使用m1成员进行接收 import m1 from './默认导出.js'; //使用import 接收名称 from '模块标识符(路径或名字)'
⚠️ 默认导入时的接收名称可以是任意名称,只要是合法的成员名称即可。
按需导出:export 按需导出的成员
export let n1 = 'a'; export let n2 = 'b'; export function fn(){}
按需导入:import {要到导入的数据名称(多个导入的成员用英文逗号进行分割} from '模块标识符'
import{n1,n2,fn} from './按需导出.js' //导入模块成员
⚠️每个模块中可以使用多个按需导出
⚠️ 按需导入的成员名称必须和按需导入的成员名称保持一致
⚠️ 按需导入时可以使用as关键字重命名
⚠️ 按需导入可以和默认导入一起使用
import show{fn} from './导出.js' //大括号外面的是默认导入,大括号里面的是按需导出
直接导入并执行模块中的代码:import '模块标识符'