es6 export与export default 的区别

相同点:

  均可用于导出常量、函数、文件、模块等

不同点:

  1、在一个文件中export可以有多个,但export default 只能有一个;

export var firstName = 'Michael';
export var lastName = 'Jackson';
export var year = 1958;
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;

export {firstName, lastName, year};

2、通过export方式导出,在导入时要加{ },export default则不需要

export default function foo() {
  console.log('foo');
}

// 或者写成

function foo() {
  console.log('foo');
}

export default foo;

3、export 导出时,import导入要加 { },export default 导出时,不用加 { }

// 第一组
export default function crc32() { // 输出
  // ...
}
import crc32 from 'crc32'; // 输入

// 第二组
export function crc32() { // 输出
  // ...
};
import {crc32} from 'crc32'; // 输入

注:应该优先考虑使用 { } 这种写法。因为这样就可以在脚本尾部,一眼看清楚输出了哪些变量

原文地址:https://www.cnblogs.com/zhucj/p/10519869.html