[编辑] 我用这个错误创建了一个演示存储库:https : //github.com/SamanthaAdrichem/hybrid-lazy-load-angularjs-injector-error
我们已按照说明操作,并且在普通混合动力车上一切正常,但是添加延迟加载失败并出现上述奇怪错误,并且始终按照文档所说的方式实现 ui 路由器(如下面的代码所示)。
加载应用程序时一切正常,但是当点击延迟加载的路线时,我们收到错误
Transition Rejection($id: 0 type: 6, message: The transition errored, detail: Error: 在AngularJS注入器被设置之前试图获取它。)
我已经尝试过这里列出的解决方案
https://github.com/ui-router/angular-hybrid/issues/93
https://github.com/ui-router/angular-hybrid/issues/150
https://github.com/ui-router/angular-hybrid/issues/395
https://github.com/ui-router/sample-app-angular-hybrid/issues/10
但这些都没有解决它。我们不使用 ng serve 因为它会因随机内存问题而崩溃(可能也是由于混合),我们需要代理到登录页面,但登录页面和我们的项目将在同一端口上运行,这不是可能。所以这需要在后端进行一些重构。
它有时会根据我要去的页面加载一个新的块文件。但大多数情况下我都会遇到这个错误。
有趣的是,在我正在测试的页面中,我们没有使用任何混合代码。基本上我们不再升级任何代码,我们只是降级一些观察者以打开旧页面的模式。
这些是我们正在运行的版本
"@angular/cli": "9.1.7",
"@angular/animations": "9.0.7",
"@angular/common": "9.0.7",
"@angular/compiler": "9.0.7",
"@angular/core": "9.0.7",
"@angular/forms": "9.0.7",
"@angular/localize": "9.0.7",
"@angular/platform-browser": "9.0.7",
"@angular/platform-browser-dynamic": "9.0.7",
"@angular/router": "9.0.7",
"@angular/upgrade": "9.0.7",
"@uirouter/angular": "6.0.1",
"@uirouter/angular-hybrid": "10.0.1",
"@uirouter/angularjs": "1.0.26",
"@uirouter/core": "6.0.5",
"@uirouter/rx": "0.6.5",
Run Code Online (Sandbox Code Playgroud)
在详细的错误和一些代码下面,不知道还有什么可以分享或我可以安全地分享什么。
关于如何调试的任何建议都会很可爱!
详细错误
stateService.ts?8765:537 Transition Rejection($id: 0 type: 6, message: The transition errored, detail: Error: …Run Code Online (Sandbox Code Playgroud) angular-ui-router angular angular-hybrid angular-lazyloading