gpt4 book ai didi

Angular 8 更新打破了模块的延迟加载

转载 作者:行者123 更新时间:2023-12-04 09:23:02 24 4
gpt4 key购买 nike

我有一个最初使用 Angular 6 开发的应用程序,并且已经在生产环境中运行了两年多。本周我开始使用 Angular 更新指南将其逐步更新到最新的稳定版本。
从 6 到 7 完美无缺,但试图从 7 到 8 一直很痛苦。关注 guide顺利;我唯一不能包含在指南中的是远离ng4-loading-spinner。至ngx-loading-spinner .该应用程序可以毫无问题地编译和加载急切的模块,但所有延迟加载的模块(我可以在不登录的情况下导航到的模块)都会引发“BrowserModule 已加载”异常。
我在这里找到了有关仅导入 BrowserModule 的所有相关问题和答案。曾经甚至从我的应用程序模块中删除了一些可能正在导入的导入 BrowserModule以及(包括 ngx-loading-spinner )。
问题:

  • 从 7 更新到 8 是否存在已知问题,我无法解决我的问题?
  • 如果没有,我怎样才能找到罪魁祸首?

  • 堆栈跟踪:
    Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.
    at new BrowserModule (platform-browser.js:4394)
    at _createClass (core.js:30461)
    at _createProviderInstance (core.js:30426)
    at initNgModule (core.js:30332)
    at new NgModuleRef_ (core.js:31561)
    at createNgModuleRef (core.js:31544)
    at Object.debugCreateNgModuleRef [as createNgModuleRef] (core.js:44911)
    at NgModuleFactory_.create (core.js:46088)
    at MapSubscriber.project (router.js:6383)
    at MapSubscriber._next (map.js:29)
    at resolvePromise (zone-evergreen.js:797)
    at resolvePromise (zone-evergreen.js:754)
    at zone-evergreen.js:858
    at ZoneDelegate.invokeTask (zone-evergreen.js:391)
    at Object.onInvokeTask (core.js:39680)
    at ZoneDelegate.invokeTask (zone-evergreen.js:390)
    at Zone.runTask (zone-evergreen.js:168)
    at drainMicroTaskQueue (zone-evergreen.js:559)

    最佳答案

    答案:

  • 我不认为这是一个已知问题,您无法解决它。
  • 您可以通过调试它来追踪罪魁祸首,如下所示:

  • enter image description here
    以下是步骤:
  • 重现错误
  • 在错误的地方放断点
  • 再次重现它
  • 跳转到 createNgModuleRef通过使用 Call Stack
  • 查看 moduleType值并直接跳转到那个 NgModule
  • 查找 BrowserModuleimports大批
  • 关于Angular 8 更新打破了模块的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63065740/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com