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

Rails 3 + angularjs + minification не работает в производстве: Неизвестный поставщик: eProvider

Я выполнил все инструкции, которые я могу найти для исправления мини-кода, например

var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = ['$scope', 'greeter'];

и

someModule.factory('greeter', ['$window', function(renamed$window) {
...;
}]);

пока angular отказывается работать. Он всегда выдает ошибку "Неизвестный поставщик: eProvider"

Вот мои две попытки заставить его работать... может ли кто-нибудь помочь?

https://github.com/jemminger/angular-test1

https://github.com/jemminger/angular-test2

У них уже были предварительно скомпилированные активы и режим разработки настроен на работу как производство, поэтому вы должны просто иметь возможность "рельсов s", чтобы увидеть (не) работу.

4b9b3361

Ответ 1

Нашел! Они никогда не говорили, чтобы применить исправления для инъекций к услугам тоже... Решение состоит в том, чтобы изменить это:

angular.module('itemServices', ['ngResource']).
    factory('Item', function($resource){
      return $resource('items/:item_id.json', {}, {
        query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
      });
    });

:

angular.module('itemServices', ['ngResource']).
    factory('Item', ['$resource', function($resource){
      return $resource('items/:item_id.json', {}, {
        query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
      });
    }]);

Ответ 2

Помните, что также использовать DI на контроллерах внутри директив. Взял мне часы... Пример CS:

не так:

controller: ($scope) ->
  $scope.closeModal = ->
    ModalService.close()

право:

controller: ["$scope"
  ($scope) ->
    $scope.closeModal = ->
      ModalService.close()
]

Ответ 3

Обязательно применяйте шаблон DI ко всем определениям функций, которые требуют инъекции внутри вашего модуля. Его легко пропустить. Если вы используете routeProvider, factory, сервисы и т.д., Все они должны иметь шаблон DI. Я закончил развертывание несколько раз, прежде чем я поймал их всех: P