0

缩小我的角度代码后,我得到了经典的“eProvider <- e”;显然,当您不指定要注入的模块时,我认为这是问题所在,例如:

angular.module("myModule").controller('MyCtrl', function ($scope, Organization, organizations) {});

但问题是,我从来没有这样写我的角度代码,特别是为了避免这个问题。事实上,我似乎无法在本地复制它;仅在 Heroku 上(我正在使用 rails 4 并让 Rails 的资产管道负责缩小)。

关于如何找出这个问题发生在哪里的任何想法?我有几十个文件,所以逐个浏览它们会很乏味。

如果重要的话,我也在使用咖啡脚本。

4

1 回答 1

0

AngularJS 使用参数名称作为要注入的实例的名称,因此当缩小器检查它并将它们更改为ab等时,AngularJS 无法注入实例。出于这个原因,AngularJS 支持另一种指定注入参数的方法,即在数组中指定名称。它看起来肯定不正确,因为您定义了两次名称,但它有效:

angular.module("myModule")
.controller("MyCtrl", function ($scope, Organization, organizations) { /* ... */ });

对比

angular.module("myModule")
.controller("MyCtrl", ["$scope", "Organization", "organizations", function ($scope, Organization, organizations) { /* ... */ }]);

请参阅关于缩小的说明

于 2013-08-09T18:40:14.130 回答