Подтвердить что ты не робот

Неизвестная ошибка поставщика провайдера при использовании угловых и рубиновых рельсов

У меня есть приложение Rails/AngularJS, которое отлично работает в локальной среде разработки. Однако, когда я развернул это приложение в Amazon Cloud, AngularJS возвращает эту ошибку в консоли браузера:

Unknown provider: eProvider <- e

Однако он отлично работает в среде разработки.

Я пользуюсь приведенной ниже службой из одного из моих файлов javascript.. например:

userList. storeActorListWithId()

Мое обслуживание таково: -

 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;
        }
    }

}]);

Мой файл application.js выглядит следующим образом. Он безопасен для минирования.

 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")
                    }
                }
            }

Я пробовал много решений (использование DI), представленных на веб-сайте, но ни один из них не помогает мне. Пожалуйста, помогите мне..

Заранее спасибо

4b9b3361

Ответ 1

Наконец, получил решение после нескольких часов исследований....

В блоке разрешений возникла проблема аннотации с минимальной меткой...  ниже код выдавал указанную выше ошибку.

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

и разрешается путем изменения кода выше.

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

Ответ 2

в моем случае

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

был изменен на

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

то работа по минимизации

Ответ 3

В моем случае (приложение Rails) мне пришлось удалить камень uglifier из моего Gemfile, а затем удалить строку конфигурации в config/environments/production.rb:

config.assets.js_compressor = :uglifier