ES模块导入导出

130 阅读1分钟

es模块语法

导出

  • 导出变量或者类型
  export const someVar = 123;
  export type someType = {
      foo: string 
  }
// 或者
  export { someVar, someType };
  • 重命名导出
const someVar = 123;
export { someVar as aDifferentName };

导入

  • 导入类型或者变量
// bar.ts
import { someVar, someType } from './foo'
  • 重命名导入
import { someVar as aDifferentName } from './foo'
  • 整体加载导入
import * as foo from './foo';
//可以使用`foo.someVar`和`foo.someType`以及其他任何从`foo`导出的变量或者类型
  • 只导入模块
import 'core-js'; // 一个普通的polyfill

导入后导出

  • 整体导入后整体导出
export * from './foo';
  • 部分导入后部分导出
export { someVar } from './foo';
  • 部分重命名后导出
export { someVar as aDifferentName } from './foo';

默认导入导出

  • 默认导出
// some var
export default (someVar = 123);

// some function
export default function someFunction(){}

// some class
export default class someClass {}
  • 默认导入
import someLocalNameForThisFile from './foo'