AngularJs – Problemas al minificar por inyección de dependencias
AngularJs tiene la característica de manejar inyección de dependencia a través de los nombres de argumentos utilizados luego en el constructor de los controladores. Si utilizamos los programas comunes para minificar, estos argumentos serán cambiados de nombre y al no tener el mismo nombre que requiere Angular para el manejo de dependencias, simplemente no funcionará y la aplicación mostrará errores. Teniendo un ejemplo común, definiendo Angular en un espacio global y utilizando la dependencia $scope como argumento:
1 2 3 |
angular.module("App", []).controller("Ctrl", function ($scope) { $scope.msj = "Hola Mundo"; }); |
Al minificar se transformará de esta manera:
1 |
angular.module("App",[]).controller("Ctrl",function(a){a.msj ="Hola Mundo"}); |
El argumento $scope se convierte simplemente en «a» y como consecuencia, fallará la inyección […]