Minificación de Angularjs usando uglify de grunt que resulta en un error de js
En angularjs pasamos parámetros como inyección de dependencia. Por ejemplo,
function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Entonces, cuando se minimiza, se vuelve como,
function checkInCtrl(a,b,c,d){
}
Ahora a, b, c, d no se interpretarán como $ scope, $ rootScope, $ location, $ http respectivamente por el código angular y el código completo no funciona. Para esto, angularjs ha proporcionado una solución, que es
checkInCtrl.$inject = ['$scope', '$rootScope', $location', '$http'];
podemos inyectar diferentes dependencias usando la sintaxis anterior. Esto funcionó bien hasta que no utilicé algún servicio angular personalizado como dependencia. Así por ejemplo ,
si tengo algo como
function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Funciona con la solución dada, pero si tengo algo como
function checkInCtrl ($scope, $rootScope, $location, $http, customService){
…..
….
}
Donde customService es algo así como
angular.module(customService, ['ngResource'])
.factory('abc', function($resource) {
return $resource('/abc');
})
Su versión minificada no se interpreta correctamente por angular.
Como tuvimos que comenzar las actividades de desarrollo del proyecto, no pudimos dedicar el tiempo suficiente para investigar la materia y comenzamos a usar el controlador sin minimizarlos. Entonces, la primera pregunta es si hay algún problema con angular o si cometí algún error y ¿por qué no funcionó? Si existe tal problema, ¿cuál es la solución?