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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta