首先我们先知道exprot的作用是什么,exprot是用于导出模块,通常配合 improt 使用 exprot和exprot default的区别,什么情况下用exprot,什么情况下用exprot default。
1.exprot //命名导出,用于导出多个对象
示例代码:在b.js中引入a.js模块
a.js
const a=123 const b=function(){alert(1)} exprot a; exprot b;
b.js
improt {a,b} from "./a.js"
b()//弹出1
从上述代码我们可以看到exprot可以在一个JS导出多个对象和变量,b.js中引入的过程需要用对应a.js中导出的变量名引入。
exprot default //默认导出
a.js
exprot default function(){alert(1)}
b.js
improt alertFun from "./a.js"
alertFun()//弹出1
比较与exprot导出的区别可以看到exprot default导出的对象可以自定义命名存储,无需要限制命名与a.js中的一样,但是exprot default只能默认导出一个对象,并且无法与exprot同时使用,exprot default是为所有导出对象使用系统默认命名导出,相等于只能导出一个对象
所以你要在一个文件导出多个对象就使用exprot,导出一个对象建议使用exprot default因为命名灵活性更多,不容易造成变量混乱