ecmascript-6 - ES6 模块导出和导入
问题描述
foo.js
const a = 1
const b = 2
const c = 3
let d = 4
export default { a, b }
export { c }
export d
export 和有什么不一样a, b, c, d
?
以及如何import
正确对待他们?
Babel
编译会影响吗?
解决方案
您只能export
声明(默认导出除外),这意味着:
export d;
无效,它必须是:
export const d = 1;
以及如何正确导入它们?
import main, { c, d } from "sth";
const {a, b} = main;
您可以以同样的方式导入对象属性,并且c
不能直接访问,因为您不能在 import 语句中解构对象,因此您必须在新行中解构它们,这很难看。引用 Bergi 的话:“不要那样做”,而是使用or 。d
a
b
c
d
推荐阅读
- react-native - 无限循环无法使用 loop={true} , enableSnap ={true} 列表未在 android 中使用 react-native-snap-carousel 滚动无限模式
- apache-kafka - Kafka Listner 异常:提交无法完成
- java - 为什么使用 java 的 webdriver 中的 getWindowHandles() 返回 Set<> 而不是 ArrayList<>?
- html - 下拉导航菜单出现在元素旁边
- rust - 从带有 main.rs 文件的本地 crate 导入时未解决的导入
- reactjs - 详尽的-deps 规则不将自定义钩子的结果识别为 React 参考
- javascript - ReactJs重复重置间隔计时器
- node.js - 如何使用 Node grpc 将枚举解析为字符串值?
- javascript - 如何使用 redux-form onChange 从商店获取更新的值?
- python - 不接受 Twitter Tweep API 中的关键字参数“用户”