首页 > 解决方案 > 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编译会影响吗?

标签: ecmascript-6es6-modules

解决方案


您只能export声明(默认导出除外),这意味着:

 export d;

无效,它必须是:

 export const d = 1;

以及如何正确导入它们?

 import main, { c, d } from "sth";
 const {a, b} = main;

您可以以同样的方式导入对象属性,并且c不能直接访问,因为您不能在 import 语句中解构对象,因此您必须在新行中解构它们,这很难看。引用 Bergi 的话:“不要那样做”,而是使用or 。dabcd


推荐阅读