在jeecg前端vue2版本vue-cli3中如何解决多页面运行时栈溢出问题?

jeecg前端vue2版本vue-cli3运行多页面栈溢出

我在本地运行多页面是ok的,但是使用jeecg的项目就报错,我本地的cli版本是5,不知道跟这个有没有关系,image.png只配置一个页面就爆栈,image.png
刚刚测试了一下,跟cli版本应该没关系,我用本地cli一样报错
image.png

阅读 1k
avatarAI BotBETA

在解决Jeecg前端Vue 2版本(使用vue-cli 3)的多页面应用栈溢出问题时,需要采取一系列的诊断和修正步骤。栈溢出通常是由于无限递归、大型数据结构导致的内存占用过高,或者某些情况下可能是Vue组件的创建和销毁导致的内存泄漏。

首先,由于你提到在本地运行多页面是OK的,但是在Jeecg项目中遇到问题,这暗示着问题可能与Jeecg项目的特定配置或代码有关,而不是与Vue CLI的版本。

以下是一些建议的步骤来解决这个问题:

  1. 分析错误信息

    • 仔细检查报错信息,看是否有具体的错误栈或者指向了哪一部分代码。
    • 如果错误信息提到了某个特定的组件或方法,那么应该重点检查这些部分。
  2. 优化组件

    • 检查是否有组件在createdmounted等生命周期钩子中进行了不必要的重复操作,特别是涉及深度递归或大型数据处理的。
    • 确保没有无限循环或递归调用,这可能导致栈溢出。
  3. 内存管理

    • 留意是否有大型数据结构或对象在组件中未被正确清理,这可能导致内存泄漏。
    • 使用Vue开发者工具检查组件树和内存使用情况,寻找可能的内存泄漏点。
  4. 路由和页面配置

    • 检查vue-router的配置,确保多页面的路由设置正确无误。
    • 查看页面配置,看是否有不必要的全局组件注册或插件加载。
  5. 第三方库和插件

    • 如果项目中使用了第三方库或插件,确保它们与Vue 2和vue-cli 3兼容。
    • 检查是否有已知的与这些库或插件相关的内存泄漏问题。
  6. 更新和调试

    • 尝试更新项目中的依赖库到最新版本,看是否可以解决问题。
    • 使用浏览器的开发者工具进行内存分析和性能分析,以找到问题的根源。
  7. 寻求帮助

    • 如果以上步骤都无法解决问题,可以在Jeecg的社区或相关论坛中寻求帮助,并提供更多的错误信息和项目配置细节。

请注意,由于你提供的信息有限,我无法给出具体的代码解决方案。解决这类问题通常需要深入项目的代码和配置,进行细致的分析和调试。如果你能提供更多的错误详情或代码片段,我可能能够给出更具体的建议。

2 个回答

问题定位为cli版本的preload-webpack-plugin中对于页面‘import()’循环引用的问题,但是看社区插件问题好像并没有解决,但是有解决方案,参考:https://github.com/vuejs/vue-cli/issues/2463
说是在1.1.1版本已经修复,但修复方案可能还是有问题,我项目的lock版本为1.1.2还是有相同问题。我使用

chainWebpack: config => {
    // TODO: Remove this workaround once https://github.com/vuejs/vue-cli/issues/2463 is fixed
    // Remove preload plugins for multi-page build to prevent infinite recursion
    Object.keys(pagesObject).forEach(page => {
      config.plugins.delete(`preload-${page}`)
      config.plugins.delete(`prefetch-${page}`)
    })
  }

解决,如果有其他方案回复

新手上路,请多包涵

明显是你一个自己写的vue文件如a.vue中,又引用了a.vue

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏