export 用来导出模块,Vue 的单文件组件通常需要导出一个对象,这个对象是 Vue 实例的选项对象,以便于在其它地方可以使用 import 引入。
export 和export default 的区别在于:
export 可以导出多个命名模块。如下:
//demo1.js
export const thisstr = 'hello world';
export function f(count){
return count+1;
}
其他模块可以通过import { thisstr, f } from 'demo1' 导入,其中用大括号括起来。
export default 只能导出一个默认模块,这个模块可以匿名,如下:
//demo1.js
export default {
a: 'hello',
b: 'world'
}
对应的引入方式:
//demo2.js
import obj from 'demo1',引入的时候可以给这个模块取任意名字,例如 “obj”,且不需要用大括号括起来。
export命令对外接口是有名称的且import命令从模块导入的变量名与被导入模块对外接口的名称相同,而export default命令对外输出的变量名可以是任意的,这时import命令后面,不使用大括号。
export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export default命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能唯一对应export default命令。