关于export和export default都是属于ES6的语法,用处都是用来进行导出常量,函数,模块等。而两者的区别是什么呢?
export和import只能有多个,但export default在一个文件中只能有一个。
export default 用于规定模块的默认对外接口,只能有一个,所以 export default 在同一个模块中只能出现一次。
export可以先定义再导出,也可以直接导出,见代码。
//直接导出
export const i = "hello";
//先定义再导出
const i = "hello";
const myFun = () => {};
export { i, myFun }//这里必须要加花括号
接下来看export default,export default只能先定义再导出,见代码。
//先定义再导出
const myFun = () => {};
export default myFun;
看着上面的导出方式,在import引入时,自然也需要对应的引入法,见代码。
//首先是export导出的情况
import { i, myFun } from "相对路径";
//接下来是export default导出的情况
import myFun from "相对路径"
export是按需导出,导出的哪些,就要引入哪些。因此import引入时,需要加上{}。
当不规范时,控制台就会出现类似于此的报错。大致意思是不能提供xxx的导出。
SyntaxError: The requested module '/src/stores/index.js' does not provide an export named 'useStore'