【问题标题】:What is the best way to debug broken injection(due to minification)?调试中断注入的最佳方法是什么(由于缩小)?
【发布时间】:2017-01-13 12:53:56
【问题描述】:

我有一个带有“100500”服务的项目,当我打开缩小时,我得到了这样的错误:

__vendor.js?d7c479e…:41 Uncaught Error: [$injector:modulerr] Failed to instantiate modulemymodule due to:
Error: [$injector:modulerr] Failed to instantiate module events due to:
Error: [$injector:unpr] Unknown provider: e

我在所有地方都使用完整的符号,所以

$inject = [...]

但它看起来在某些地方已经坏了。 解决问题的最佳方法是什么? (不要一一检查100500服务。)

【问题讨论】:

  • 您不能在任何地方使用$inject,例如在runconfig 块中。检查那些使用数组表示法
  • 感谢您的反馈。好的,除了 runconfig 块之外,我在任何地方都在使用它

标签: angularjs angularjs-injector


【解决方案1】:

我找到了路。 您需要关闭缩小并打开 strictDi 模式。它会向您显示注射中断的确切位置。

你可以在html中使用ng-strict-di指令开启strictDi:

<div ng-app="myApp" ng-strict-di>

或使用引导选项:

angular.bootstrap(document, ['myApp'], {
  strictDi: true
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2010-11-23
    • 2014-07-18
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多