Angular.js'未知提供商:iProvider< - i'生产错误

时间:2015-09-25 22:48:50

标签: javascript angularjs divshot

我正在开发Angular项目,在本地运行完美,但是当我部署到Divshot时它会中断,并且它会抛出一个'未知提供者:iProvider< - i'错误。

这是指向:Divshot development build

的链接

非常感谢任何建议。

2 个答案:

答案 0 :(得分:3)

这是因为Angular通过将函数字面转换为字符串并使用其参数名来解析提供程序名称。部署时,您可能正在缩小代码。因此,看似myCoolService的内容将缩小为ia或其他内容。

你必须有办法解决它: 1.使用数组语法 2.在构建中使用ngAnnotate或其他东西为您创建数组语法。

阅读https://docs.angularjs.org/tutorial/step_05

上有关缩小的部分

答案 1 :(得分:1)

我假设您的js代码已在生产中进行了微缩。您的服务提供商的标识符可能会重命名为未知的内容。

我建议你在注入点添加提供者的字符串标识符。 E.g。

angular.module('example')
  .controller(['$scope', 'YourServiceProvider', function($scope, YourServiceProvider) {
     // ...
  });