ES6的模块化中,export与export default都可以用于导出常量、函数、文件、模块等,我们可以通过在其它文件或模块中import(常量、函数、文件、模块)的方式导入,但在一个文件或模块中,export、import可以有多个,export default仅有一个。
1、直接输出
export let words = 'hello world!!!' export function output() { // ... }
2、先定义在输出
let firstWords = 'hello'let secondWords = 'world'let thirdWords = '!!!' function output() { // ...} export {firstWords, secondWords, thirdWords, output}
1.export default 用于规定模块的默认对外接口
2.很显然默认对外接口只能有一个,所以 export default 在同一个模块中只能出现一次
3.export default只能直接输出,不能先定义再输出。
4.其在 import 方式上也和 export 存在一定区别。
(1)export的输出与import输入
export function output() { // ... } import {output} from './example'
(2)export default的输出与import输入
export default function output() { // ... } import output from './example'
从以上两种 import 方式即可看出,export default 的 import 方式不需要使用大括号包裹。因为对于 export default 其输出的本来就只有一个接口,提供的是模块的默认接口,自然不需要使用大括号包裹。