如何调试Angular Provider问题

时间:2017-03-21 15:39:41

标签: angular systemjs jspm

调试与无法解析的Angular提供程序相关的问题的最佳方法是什么?

我有一个Angular(NG2,而不是AngularJS)提供程序,当我的代码的一部分使用JSPM捆绑时无法解决。

Angular提供的唯一错误消息是:

  

错误:无法解析DataManager的所有参数:(AppConfig,?,DataStore)

'?'参数是指一个类" DataService"。

DataManager和DataService都不在捆绑包中。它们都不使用捆绑中的类。但是,DataService依赖于继承自bundle的类AppConfig。

从上面的消息中,Angular能够解析AppConfig,所以我不知道这是不是问题。

  • 在上述任何类之前,捆绑包被加载到页面上。
  • 如果我不使用该捆绑包,则提供商会成功解析。
  • 我们使用的是SystemJS而不是WebPack。
  • 在引导Angular之前,我们正在使用System.import预加载上面的类。 (与遗留代码集成相关的原因。)
  • 如果我没有预先加载此提供程序,即使使用该软件包,它最终也会解决。

任何提示都将受到赞赏:

  • 如何解决Angular提供商解决方案
  • 如何使Angular在错误中更加冗长
  • 如何更好地提出这个问题
  • 如果我在错误的论坛中,哪个论坛会更合适

谢谢!

1 个答案:

答案 0 :(得分:0)

备份您的代码,并开始一次删除提供程序或添加提供程序以查找问题。还要确保使用ng服务来测试构建,而不是实际构建项目。 检查您是否使用稳定版本的提供商。 这原本是你的项目吗?如果不确保您使用正确版本的node.js作为原始版本。 (如果您在Mac上使用NVM工具很棒)也检查您的计算机上是否使用了正确版本的Java RTE,如果您有其他版本卸载它们并确保指向正确版本。如果您需要帮助,请查看以前已经回答过的问题。

如果您的问题更复杂,请注释,我会更新我的答案。 请评论并跟进。