export default 和export

export 

用户需要知道所要加载的变量名或函数名,否则无法加载以及必须使用{}来进行加载

export const a = {
 id:0,
 name:'example'
 }
export const b = {
 id:0,
 name:'example'
 }

假定上面文件在eg,js中

第一种引入方法 import {a,b} from ‘eg’

第二种引入方法 import * as eg from 'eg'

第一种可以直接使用a , b等变量

第二种 使用 eg.a 或者eg.b  

export default 

模块指定默认输出

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


// import-default.js
import customName from './export-default';
customName(); // 'foo'
  
上面代码是一个模块文件export-default.js,它的默认输出是一个函数。
其他模块加载该模块时,import命令可以为该匿名函数指定任意名字并且可以不使用{}。

export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export default命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能对应一个方法。

本质上,export default就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字.

上面代码来源于阮一峰书籍<ECMAScript 6 入门>
http://es6.ruanyifeng.com/#docs/module#概述
 
原文地址:https://www.cnblogs.com/zhangweihu/p/7519699.html