我已经照着所有我能找到的指示固定缩小,如
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = ['$scope', 'greeter'];
和
someModule.factory('greeter', ['$window', function(renamed$window) {
...;
}]);
但角拒绝仍能正常工作。 它总是引发错误“未知供应商:eProvider”
这里是我的两个企图得到它的工作...谁能帮助?
https://github.com/jemminger/angular-test1
https://github.com/jemminger/angular-test2
他们已经有了资产预编译和发展模式的配置生产工作,所以你应该只能够“轨道的”看到它(不)工作。
找到了! 他们从来没有说过要注射修复适用于服务太...的解决办法是改变这样的:
angular.module('itemServices', ['ngResource']).
factory('Item', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
});
为此:
angular.module('itemServices', ['ngResource']).
factory('Item', ['$resource', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
}]);
记住,指令中还使用DI控制器上。 我花了时间... CS例如:
错误:
controller: ($scope) ->
$scope.closeModal = ->
ModalService.close()
对:
controller: ["$scope"
($scope) ->
$scope.closeModal = ->
ModalService.close()
]
请务必将DI模式适用于需要用你的模块中注入所有函数定义。 它可以很容易错过一个。 如果您使用的是routeProvider,工厂,服务等,这些都需要有应用的DI模式。 我结束了部署多个次之前,我抓住了他们所有:P
文章来源: Rails 3 + angularjs + minification does not work in production: Unknown provider: eProvider