export、export default 的区别

相同点

  1. 都是导出常量、函数、文件、模块等
  2. 可以在其他文件或模块中通过import 引入
  3. ES中的规范

不同点

  1. 在一个文件或模块中,export可以有多个
let n = 1
export let a = 'a'
export let b  =  'b'
export { n as m}

而export default 只有一个

let str= 'str'
export default str
  1. 通过export 导出,在导入时要加 { },或者分条引入
import {a,  b} from  'a' <- export let a  = a; export let b = b

或者

import {a} from 'a'
import {b} from 'b'

export default 直接引入

import  str from 'str <- export default str
  1. export 规定的是对外的接口,引入的时候必须与模块内部变量建立一一对应的关系
import {a} from 'a'<- export let a = 'a'

export default 为默认输出,可以在引入的时候任意命名

import b from 'a' <- export default str
  1. export 可以直接导出变量表达式
export const A = 'a'

export default 不可以

let a = 'a'
export default a

你可能感兴趣的:(export、export default 的区别)