ES 模块用于在浏览器环境和服务器环境中使用。
模块就是以 .js
为扩展名的 JavaScript 文件。
1.导出
1.1命名(named)导出一个对象字面量
命名导出的值为一个对象字面量,对象字面量的属性为需要导出的模块成员。
注意:实际上,导出的值不是一个对象字面量,在这里为了易于理解,暂且理解为一个对象字面量。
//前缀方式
export 成员定义1
export 成员定义2
export 成员定义N
//末尾方式
成员定义1
成员定义2
成员定义N
export { 成员名1, 成员名2, 成员名N };
export { 成员名1 as 成员别名1, 成员名2 as 成员别名2, 成员名N as 成员别名N };
1.2默认(default)导出一个模块成员
默认导出的值为一个模块成员。
注意:因为 default
是别名,所以一个模块中只能有一个默认导出,不然会发生别名冲突。
//前缀方式
export default 成员定义
//末尾方式
成员定义
export { 成员名 as default };
//简写
export default 成员名;
2.导入
//模块标识符格式
//绝对路径
from '/module.js'
//相对路径
from './module.js'
from '../module.js'
//Node.js内置模块
from 'node:http'
//npm包内模块
from '包名'
2.1命名(named)导入一个对象字面量
注意:实际上,使用的不是解构赋值语法,在这里为了易于理解,暂且理解为解构赋值语法。
//命名导出对应的导入方式(import关键字后的成员名必须与命名导出的成员名相同)
import { 成员名1, 成员名2, 成员名N } from '模块标识符';
import { 成员名1 as 成员别名1, 成员名2 as 成员别名2, 成员名N as 成员别名N } from '模块标识符';
2.2默认(default)导入一个模块成员
//默认导出对应的导入方式(import关键字后的成员名非必须与默认导出的成员名相同)
import 成员名 from '模块标识符';
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/3556.html