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里的代码,而不输入任何值(还不了解具体使用场景为什么要这么写)
洗尽铅华始见金,褪去浮华归本真
分类:
JavaScript / ES6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现