I\'ve followed all the instructions I can find for fixing minification, e.g.
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inj
Remember, to also use DI on controllers within directives. Took me hours... CS example:
wrong:
controller: ($scope) ->
$scope.closeModal = ->
ModalService.close()
right:
controller: ["$scope"
($scope) ->
$scope.closeModal = ->
ModalService.close()
]
Make sure to apply the DI pattern to ALL function definitions that require injection within your module. It can be easy to miss one. If you're using a routeProvider, factory, services, etc., they all need to have the DI pattern applied. I ended up deploying multiple times before I caught them all :P
Found it! They never said to apply the injection fixes to services too... The solution is to change this:
angular.module('itemServices', ['ngResource']).
factory('Item', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
});
to this:
angular.module('itemServices', ['ngResource']).
factory('Item', ['$resource', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
}]);