Minificação de Angularjs usando grunt uglify resultando em erro de js
No angularjs, passamos parâmetros como injeção de dependência. Por exemplo,
function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Então, quando é minificado, torna-se,
function checkInCtrl(a,b,c,d){
}
Agora a, b, c, d não serão interpretados como $ scope, $ rootScope, $ location, $ http, respectivamente, pelo código angular e pelo código inteiro não funcionar. Para isso, o angularjs forneceu uma solução, que é
checkInCtrl.$inject = ['$scope', '$rootScope', $location', '$http'];
podemos injetar dependências diferentes usando a sintaxe acima. Isso funcionou bem até que eu não usei algum serviço angular personalizado como dependência. Então, por exemplo,
se eu tiver algo como
function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Funciona com determinada solução, mas se eu tiver algo como
function checkInCtrl ($scope, $rootScope, $location, $http, customService){
…..
….
}
Onde customService é algo como
angular.module(customService, ['ngResource'])
.factory('abc', function($resource) {
return $resource('/abc');
})
Sua versão reduzida não é interpretada corretamente por angular.
Como tivemos que iniciar as atividades de desenvolvimento do projeto, não pudemos gastar tempo suficiente para analisar a matéria e começamos a usar o controlador sem reduzi-los. Então, primeira pergunta é se existe esse problema com angular ou cometi algum erro e devido ao qual não funcionou? Se esse problema existe, qual é a solução?