导出 * as bar VS 导出 { 默认为 bar }

Wen*_* Du 5 javascript

两者有什么区别

export * as bar from 'foo'
Run Code Online (Sandbox Code Playgroud)

export { default as bar } from 'foo'
Run Code Online (Sandbox Code Playgroud)

在我的具体情况下,我尝试了以下两种方法,它们都有效,想知道它们之间的根本区别。

// echarts v5.0.0
export * as ECharts from 'echarts/lib/echarts.js'
export { default as ECharts } from 'echarts/lib/echarts.js'
Run Code Online (Sandbox Code Playgroud)

babel.config.js

module.exports = {
  // "@vue/cli-plugin-babel": "~4.5.0",
  presets: ['@vue/cli-plugin-babel/preset'],
}
Run Code Online (Sandbox Code Playgroud)

Wen*_* Du 7

这会将所有命名导出和默认导出foo导出为bar

export * as bar from 'foo'
Run Code Online (Sandbox Code Playgroud)

这仅导出默认导出foobar

export { default as bar } from 'foo'
Run Code Online (Sandbox Code Playgroud)