ES6 暴露模块及导入注意事项

学习大神关于ES6的讲解https://es6.ruanyifeng.com/

基础

export与export default均可用于导出常量、函数、文件、模块等

在一个文件或模块中,export、import可以有多个,export default仅有一个

如果一个文件里export了很多函数(常量,变量), 如果你想在目标一次性全部导入模块的所有函数(常量,变量)就可以使用   import * as xxx代表全部

通过export方式导出,在导入时要加{ }(因为export方式需要一一对应,本质上使用了解构),而export default则不需要

export能直接导出变量表达式,export default不行。

 

我的混淆点

1.import * as obj from 'xxx',与 import  from 的区别

export参数指定单个(多个)的命名导出,import {foo,bar} from "xxx",一一对应的引入foo,bar

export参数指定多个的命名导出,而import * as name语法导入所有导出接口,即导入模块整体。

如何理解 import * as obj from "xxx" 会将 "xxx" 中所有 export 导出的内容组合成一个模块(对象obj)返回。若模块中包含一个一个接口getList(),则调用时需写obj.getList()

 

2.import * as obj from 'xxx' 与 import {a as obj} from 'xxx'

如何理解  import {a as obj} from 'xxx',这里是将 a 引入的同时重命名为obj。

 

3.import "xxx" 与 import {foo} from "xxx"

如何理解  import "xxx"  仅仅执行xxx里的代码,而不输入任何值(还不了解具体使用场景为什么要这么写)

 

posted @   wanglei1900  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示