Angular v9 问题:无法解析 h 的所有参数:(?, ?, ?)

Angular v9 issue: Cant resolve all parameters for h: (?, ?, ?)

我在 angular 应用程序中 运行 "npm start" 时遇到以下问题。 从 ng8 升级到 ng9.0.1 后,这发生在我身上。 (使用 angular 8 一切正常)

这种情况发生了,但是应用程序渲染了页眉和所有 bootstrap 效果,所以我的商店已满,但没有任何反应。

ERROR Error: Uncaught (in promise): Error: Can't resolve all parameters for h: (?, ?, ?).
Error: Can't resolve all parameters for h: (?, ?, ?).
    at main.586bd40b7d54c49d4834.js:1
    at ci (main.586bd40b7d54c49d4834.js:1)
    at li (main.586bd40b7d54c49d4834.js:1)
    at main.586bd40b7d54c49d4834.js:1
    at ai.processProvider (main.586bd40b7d54c49d4834.js:1)
    at main.586bd40b7d54c49d4834.js:1
    at main.586bd40b7d54c49d4834.js:1

我不知道我还能测试什么,正如你在下面看到的,错误没有给我任何有用的调试信息。谢谢

解决方案:

因为angular version > 7, core-js/es7/reflect在polyfill.ts中不是必需的,这个解决方案(这是Whosebug的问题或github问题中最常见的)对我不起作用,我正在使用 angular 9(从 v8 升级到 v9 后问题开始)。我开始更深入地查看我的应用程序文件,我意识到在一个 xxx.effects.ts 文件中,我错过了 @Injectable() 装饰器,添加这个装饰器后,问题就解决了。对我来说奇怪的是为什么在 ng8 中没有抛出这个错误。这仅在开发模式下进行了测试,未在生产模式下进行测试。

解决方案:

由于angular版本> 7,core-js/es7/reflect在polyfill.ts中不是必需的,这个解决方案(这是Whosebug的问题或github问题中最常见的)对我不起作用,我正在使用 angular 9(从 v8 升级到 v9 后开始出现问题)。我开始更深入地查看我的应用程序文件,我意识到在一个 xxx.effects.ts 文件中,我错过了 @Injectable() 装饰器,添加这个装饰器后,问题就解决了。对我来说奇怪的是为什么在 ng8 中没有抛出这个错误。这仅在开发模式下进行了测试,未在生产模式下进行测试。