这是我在 Angular/TypeScript 应用程序中遇到的一个有点无用的错误。在有人改进错误信息之前,我们能做些什么呢?最有可能导致这种情况发生的情况是什么?
Uncaught Error: Encountered undefined provider! Usually this means you have a circular dependencies (might be caused by using 'barrel' index.ts files.
at Object.syntaxError
at eval at Array.forEach (native) [<root>]
at CompileMetadataResolver._getProvidersMetadata
at CompileMetadataResolver.getNgModuleMetadata
at CompileMetadataResolver.getNgModuleSummary
at eval
...
最佳答案
很难从错误消息中判断是哪个提供商导致了这个问题。我设法调试它的方式如下:
- 我进入了node_modules@angular\compiler\bundles\compiler.umd.js文件
- 我找到了这样一行:“遇到未定义的提供程序!通常这意味着您有循环依赖关系。这可能是由于使用‘barrel’index.ts 文件造成的。”
- 在我添加
console.log('type', type);
之前的一行,以便查看哪个文件是未定义的提供程序(您也可以在那里控制台记录其他相关变量)。 - 在相关文件中,我找到了导致问题的“桶”导入,并将其替换为确切的文件路径导入。
关于angular - 错误 : "Encountered undefined provider! Usually this means you have a circular dependencies",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43008395/