export 导出与import 导入

导出变量用法1

// good
export var firstName = 'Michael';
export var lastName = 'Jackson';
export var year = 1958;
// bad
export 1; // 报错;因为没有提供对外的接口,两种错误其实都是因为直接导出值了

导出变量用法2

// good
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;
export {firstName, lastName, year};
// bad
var m = 1;
export m; // 报错;因为没有提供对外的接口,两种错误其实都是因为直接导出值了

导出函数用法1

// good
export function multiply(x, y) {
  return x * y;
};
// bad
function f() {}
export f; // 报错;因为没有提供对外的接口,两种错误其实都是因为直接导出值了

导出函数用法2

// good
function v1() { ... }
function v2() { ... }

export {
  v1 as streamV1,
  v2 as streamV2,
  v2 as streamLatestVersion
};
// bad
function foo() {
  export default 'bar' // SyntaxError
}
foo()
// 这种错误是因为export命令必须处于模块顶层才可以,也就是不能出现在代码块里面,这里涉及到import的编译时加载原理

导出类

export default class { ... }

你可能感兴趣的:(export 导出与import 导入)