ES6模块系统与Node.js模块系统比较

一、区分1. import命令会被 JavaScript 引擎静态分析,先于模块内的其他模块执行(叫做”连接“更合适)。2. import()函数,完成动态加载,异步加载。import()类似于 Node 的require方法,区别主要是前者是异步加载,后者是同步加载。ES6 import()返回一个 Promise 对象。3.require是运行时加载模块,只有运行时才知道,同步加载。...
摘要由CSDN通过智能技术生成

一、区分

1. import命令会被 JavaScript 引擎静态分析,先于模块内的其他模块执行(叫做”连接“更合适)。
2. import()函数,完成动态加载,异步加载。import()类似于 Node 的require方法,区别主要是前者是异步加载,后者是同步加载。ES6 import()返回一个 Promise 对象。
3. require是运行时加载模块,只有运行时才知道,同步加载。

二、ES6模块

1.   基本的导出

(1)  可以在变量、函数、类定义前加export
(2)  可以在代码的尾部 export { 变量/函数/类的名称 }

2. 基本的导入 

(1)  在其它模块内使用import关键字来访问已被导出的功能。
(2)  导入单个绑定: import { identifier1 } from "./example.js";
(3)  导入多个绑定: import { identifier1, identifier2 } from "./example.js";
(4)  导入整个模块: import * as example from "./example.js";
导入绑定的一个怪异点:外部模块导入的 name 变量与在 example.js 模块内部的 name 变量对比, 前者是对于后者的只读引用, 会始终反映出后者的变化。

3. 重命名的导入与导出

你可能并不想使用从模块中导出的变量、函数或类的原始名称。可以在导入或导出的过程中进行修改。
(1)  export { sum as add }
(2)  import { sum as add } from "./example.js"

4. 导出默认值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值