https://www.bilibili.com/read/cv8917223

  1. export * from "foo";
  2. export {default} from "foo";
  3. export {default as foo} from "foo";
  4. export {foo} from "foo";
  5. export {foo, bar} from "foo";
  6. export {foo as bar} from "foo";
  7. export {foo as default} from "foo";
  8. export {foo as default, bar} from "foo";
  • export-from 用于聚集模块。但不能在直接使用;
  • 例如在index.js 里export { a } from ‘b.js’, a在index.js里无法使用,仅供导出用
    • import 导入,export再导出,可以在 index.js里面使用 a变量
  • export语句输出的接口,都是和其对应的值是动态绑定的关系,即通过该接口取到的都是模块内部实时的值。

错误的导出

export模块可以位于模块中的任何位置,但是必须是在模块顶层,如果在其他作用域内

  1. function foo() {
  2. // 必须在顶层作用域
  3. export default 'bar' // SyntaxError
  4. }