JS动态引入模块
这是静态引入,import xx from ‘xxx’;
这是动态引入,import('xxx')
动态引入是一个异步操作,即它会返回一个Promise对象,因此我们可以捕获引入失败的异常。
具体运用场景:
路由由后端动态生成,前端根据获取到的路由动态生成菜单,并根据对应路由去找到对应的组件进行跳转。
譬如路由为/home,那么对应文件/views/home/index.vue必须存在,才能正确进行跳转。
若后端新增了新的路由(无论是直接操作数据库,或者前端通过配置页面去调接口新增),那么此时打包的项目内是不存在新增路由的页面文件,因此需要用到动态路由。
const router = { path: item.path, name: item.path || '', component: () => import(`@/views/${item.path}/index.vue`).catch(() => { return import('@/components/Transitionpage/index.vue') //未找到上面引入的模块时,引入该过渡页面 }), }) }
注意,返回的是一个promise对象,因此无论是正常捕获then还是异常捕获catch,都要重新返回一个文件引用,否则会卡住。
分类:
js随笔
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义