tutorial bootstrap javascript ruby-on-rails angularjs dependency-injection minify

javascript - bootstrap - Error del proveedor desconocido del proveedor electrónico al usar angularjs y ruby en los rieles



fieldset legend bootstrap (3)

En mi caso (aplicación Rails), tuve que eliminar la gema uglifier de mi Gemfile y luego eliminar la línea de config/environments/production.rb en config/environments/production.rb :

config.assets.js_compressor = :uglifier

Tengo una aplicación Rails / AngularJS que funciona bien en el entorno de desarrollo local. Sin embargo, cuando implementé esta aplicación en Amazon Cloud, AngularJS devuelve este error en la consola del navegador:

Unknown provider: eProvider <- e

Sin embargo, funciona bien en el entorno de desarrollo.

Estoy accediendo al siguiente servicio desde uno de mis archivos javascript ... por ejemplo:

userList. storeActorListWithId()

Mi servicio es el siguiente:

woi.service(''userList'',[''$rootScope'', ''userAPI'' , ''recoAPI'', function($rootScope, userAPI, recoAPI){ var actorList = []; var actorId = ""; return{ storeActorListWithId: function(data){ actorList = []; angular.forEach(data,function(actor){ if(actor.castname) { actorList.push({name: actor.castname,id: actor.castid}); } }) } , getActorListWithId: function(){ return actorList; }, storeActorId: function(id){ actorId = id; }, getActorId: function(){ return actorId; } } }]);

Mi archivo application.js es el siguiente. ¿Es segura o no?

resolve: { checkActorId: function($route,$location,$rootScope){ var url = $route.current.params.id; var actorName = url.replace(//-/g, " ").replace(//~/g, "-").replace(//$/g, "/"); var actorList = $rootScope.storeActorNameAndId; if($rootScope.storeActorNameAndId){ angular.forEach(actorList, function(actor, key){ if(actor.name == actorName){ $rootScope.actorid = actor.id; } }); } else { $location.path("home") } } }

He probado muchas soluciones (uso de DI) en el sitio web, pero ninguna de ellas me está ayudando. Por favor, ayúdame..

Gracias por adelantado


Finalmente consiguió la solución después de horas de investigación.

Hubo un problema de anotación de minificación segura en el bloque de resolución. Este código estaba dando el error anterior.

resolve: { setParams: function($rootScope, $route) { $rootScope.Programmeid = $route.current.params.programmeid; $rootScope.channelid = $route.current.params.channelid; } }

Lo resolví cambiando el código a esto:

resolve: { setParams: [''$rootScope'', ''$route'', function($rootScope, $route) { $rootScope.Programmeid = $route.current.params.programmeid; $rootScope.channelid = $route.current.params.channelid; }]; }


en mi caso

app.config(function ($stateProvider) { $stateProvider .state(''A'', { ..., }); });

fue cambiado a

app.config(["$stateProvider", function ($stateProvider) { $stateProvider .state(''A'', { ..., }); }]);

entonces funciona la minificación