2.1JavaScript语言的ES模块(Module)

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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2020年8月30日 18:20
下一篇 2020年9月2日 02:13

相关推荐

发表回复

登录后才能评论