异步组件
webpack的分包方式:在引用一个自己写的文件时,使用import函数而非直接使用import关键字,可以使得webpack打包时将引用的文件单独打包为一个文件:
// 通过import函数导入的模块,后续webpack对其打包时会进行分包的操作
import("./12_异步组件的使用/utils/math").then((res)=>{
console.log(res.sum(20,13));
})

定义异步组件:
使用vue3中的defineAsyncComponent方法,
import {defineAsyncComponent} from "vue";
该方法的返回值是一个组件,使用方式有两种,一种是传入一个工厂方法:
// 传入工厂函数
// const AsyncCategory = defineAsyncComponent(()=>import("./AsyncCategory.vue"));;
还有一种是传入一个对象,在对象中可以定义其它的属性:
const AsyncCategory = defineAsyncComponent({
loader: ()=>import("./AsyncCategory.vue"),
// 加载之前的占位组件
loadingComponent: Loading,
// 加载错误的组件
// errorComponent:
// 延迟显示:在显示loadingComponent组件之前,等待多长时间
delay: 2000,
/**
* err:错误信息
* retry:函数,调用retry尝试重新加载
* attempts:记录尝试次数
*/
onError: function(err,retry,attempts){
}
})