在大型项目中,我们可能需要拆分应用为更小的块,以减少主包的体积,并仅在需要时再从服务器加载相关组件。这时候就可以使用异步组件。
(相关资料图)
Vue 提供了 defineAsyncComponent 方法来实现此功能,这个方法接收一个返回 Promise 的加载函数。
ES 模块动态导入会返回一个 Promise,所以多数情况下我们会将它和 defineAsyncComponent 搭配使用。类似 Vite 和 Webpack 这样的构建工具也支持此语法 (并且会将它们作为打包时的代码分割点),因此我们也可以用它来导入 Vue 单文件组件。
父组件引用子组件,通过 defineAsyncComponent 加载异步配合 import 函数模式便可以分包,先执行 npm run build
指令,观察异步加载组件打包后 dist
目录文件。
然后修改代码为组件同步引入时,再执行 npm run build
指令,观察打包后 dist
目录下文件的变化。
<Suspense> 是一个内置组件,用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌套异步依赖项解析完成,并可以在等待时渲染一个加载状态。如果在渲染时遇到异步依赖项 (异步组件和具有 async setup()的组件),它将等到所有异步依赖项解析完成时再显示默认插槽。
看完两件事
如果你觉得这篇内容对你挺有启发,我想邀请你帮我两个小忙:
点个「赞」或者「转发评论」,让更多的人也能看到这篇内容(喜欢不点赞,都是耍流氓 -_-)
关注公众号「前端知识分享喵」,不定时更新前端技术分享,
公众号后台回复「电子书」即可免费获取精选的前端电子书。
添加 MagnumHou 微信,可以获取 up 主有的大机构的学习视频哦
一、概述在大型项目中,我们可能需要拆分应用为更小的块,以减少主包的体积,并仅在需要时再从服务器加载相关组件。这时候就可以使用异步组件
杭州市会计初级报名网址为:“全国会计资格评价网”(网址:http: kzp mof gov cn )。考试的报名时间为:2023年2月7日到2023年2月28日的中午12:00。
火箭老板费尔蒂塔55亿美元报价NFL华盛顿指挥官76人老板有意跟进,火箭,火器,nfl,约书亚,费尔蒂塔,76人队,德文·哈里斯,华盛顿指挥官
每日精选:今天最新消息 意大利里米尼华侨华人妇女联谊总会向“网上方舱医院”捐款
2023-02-26