[import ... from」、「 import ... = require()」 和 「import(path: string)」有什么区别?

1、import ... from

2、import(path: string)

3、import ... = require()

前两个都是ES6的模块语法,第3个import ... = require() 是ts的语法

使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块

第1个:import命令只能在模块的顶层,不能在代码块之中(比如,在if代码块之中,或在函数之中)

第2个:ES2020提案 引入import()函数,支持动态加载模块
import()函数可以用在任何地方,不仅仅是模块,非模块的脚本也可以使用。它是运行时执行,也就是说,什么时候运行到这一句,就会加载指定的模块。另外,import()函数与所加载的模块没有静态连接关系,这点也是与import语句不相同。import()类似于 Node 的require方法,区别主要是前者是异步加载,后者是同步加载。

3、import ... = require()

为了支持CommonJs和AMD的exports,Typescript提供了export = 语法

使用export = 导出一个模块,必须使用import ... = require() 导入模块

 

 

 

参考链接:

es6:  https://es6.ruanyifeng.com/?search=import&x=0&y=0#docs/module#import

ts:    https://www.tslang.cn/docs/handbook/modules.html

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值