반응형
레일 3 + angularjs + minization은 생산 시 작동하지 않습니다.알 수 없는 공급자: eProvider
예를 들어, 최소화를 수정하기 위해 찾을 수 있는 모든 지침을 준수했습니다.
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = ['$scope', 'greeter'];
그리고.
someModule.factory('greeter', ['$window', function(renamed$window) {
...;
}]);
하지만 각진 사람들은 가만히 일하는 것을 거부합니다.항상 "알 수 없는 공급자: eProvider" 오류가 표시됩니다.
여기 제가 두 번 시도한 게 있어요누가 도와줄수 있습니까?
https://github.com/jemminger/angular-test1
https://github.com/jemminger/angular-test2
이미 자산이 사전 컴파일되어 있고 개발 모드가 프로덕션으로 작동하도록 구성되어 있으므로 "레일"을 사용하여 작동 여부를 확인할 수 있어야 합니다.
찾았어요!그들은 주사 수정을 서비스에도 적용하라는 말을 한 적이 없습니다.해결책은 이를 변경하는 것입니다.
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}
});
}]);
지시 내의 컨트롤러에서도 DI를 사용해야 한다는 것을 기억하세요.몇 시간이나 걸렸는데...CS 예:
틀렸습니다:
controller: ($scope) ->
$scope.closeModal = ->
ModalService.close()
오른쪽:
controller: ["$scope"
($scope) ->
$scope.closeModal = ->
ModalService.close()
]
모듈 내에서 주입이 필요한 모든 기능 정의에 DI 패턴을 적용해야 합니다.하나를 놓치기 쉽습니다.routeProvider, factory, services 등을 사용하는 경우 모두 DI 패턴을 적용해야 합니다.전부 잡기 전에 여러 번 배포를 하게 되었습니다. :P
언급URL : https://stackoverflow.com/questions/13459452/rails-3-angularjs-minification-does-not-work-in-production-unknown-provider
반응형
'programing' 카테고리의 다른 글
Nodejs5와 babel에서 "예상치 못한 토큰 가져오기"? (0) | 2023.10.08 |
---|---|
AngularJS에서 행을 각각 2개씩 더 반복하는 방법 (0) | 2023.10.08 |
CoffeeScript에서 객체의 키와 값을 반복하는 방법? (0) | 2023.10.08 |
오류 유효성 검사가 보존된 AJAX 양식(simple_form 사용) (0) | 2023.10.08 |
T-SQL에 존재하는 경우 (0) | 2023.10.08 |