我正在开发Angular项目,在本地运行完美,但是当我部署到Divshot时它会中断,并且它会抛出一个'未知提供者:iProvider< - i'错误。
这是指向:Divshot development build
的链接非常感谢任何建议。
答案 0 :(得分:3)
这是因为Angular通过将函数字面转换为字符串并使用其参数名来解析提供程序名称。部署时,您可能正在缩小代码。因此,看似myCoolService
的内容将缩小为i
或a
或其他内容。
你必须有办法解决它: 1.使用数组语法 2.在构建中使用ngAnnotate或其他东西为您创建数组语法。
上有关缩小的部分答案 1 :(得分:1)
我假设您的js代码已在生产中进行了微缩。您的服务提供商的标识符可能会重命名为未知的内容。
我建议你在注入点添加提供者的字符串标识符。 E.g。
angular.module('example')
.controller(['$scope', 'YourServiceProvider', function($scope, YourServiceProvider) {
// ...
});