1、问题:

TypeError: Failed to fetch dynamically imported module:

2、原因:

        动态路由页面引入并不是像静态引入一样写在router.ts文件中,所以在打包的时候,这些vue文件被忽略了,没有打包过去,所以加载失败

3、解决方案:

        使用vite官网提供的动态导入方式:const modules = import.meta.glob('./dir/*.js')后面的地址是一个模板对应你前端的文件路径

        例如:我前端对应的路径              

                ../views/home/index.vue

在router.ts文件中写入
 

const modules = import.meta.glob("../views/**/**.vue")



//使用  添加动态路由
menus.forEach((item: any) => {

     router.addRoute("Home", {

         component: modules[`${item.component}`],

         name: item.name,

         path: item.path,

         meta: item.meta,

      })

})

        

GitHub 加速计划 / vu / vue
109
19
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐