export {}(对外接口)
![](https://img2020.cnblogs.com/blog/1968139/202102/1968139-20210201211356197-275748033.png)
export default
![](https://img2020.cnblogs.com/blog/1968139/202102/1968139-20210201210956662-1274061880.png)
![](https://img2020.cnblogs.com/blog/1968139/202102/1968139-20210201211551475-1378511917.png)
上面代码的两组写法,第一组是使用export default时,对应的import语句不需要使用大括号;第二组是不使用export default时,对应的import语句需要使用大括号。
export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export default命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能唯一对应export default命令。
本质上,export default就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。所以,下面的写法是有效的。
// modules.js
function add(x, y) {
return x * y;
}
export {add as default};
// 等同于
// export default add;
// app.js
import { default as foo } from 'modules';
// 等同于
// import foo from 'modules';
注意
![](https://img2020.cnblogs.com/blog/1968139/202102/1968139-20210202130939001-71933820.png)