2012-11-19 28 views
22

Minikasyonu gidermek için bulabildiğim tüm talimatları takip ettim, ör. Raylar 3 + angularjs + minification üretimde çalışmıyor: Bilinmeyen sağlayıcı: eProvider

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

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

ve

henüz açısal çalışmaya devam etmeyi reddeder. Her zaman "Bilinmeyen sağlayıcı: eProvider" hatasını atar "

Çalışmayı almamdaki iki denemem ... Herkes yardımcı olabilir mi? Sadece "raylar s" görmek gerekir böylece

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

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

Zaten, varlıkları önderlenmiş ve geliştirme modu üretimine olarak çalışmak üzere yapılandırıldığı yaşadım (değil) çalışma .

+0

kişinin hedeflerine bağlı olarak, olası bir çözüm minifier az-desctructive optimizasyonlar geri ölçekli olduğunu ... Bana CS örneğini saat sürdü. "Uglify" durumunda "mangle: false" konfigürasyonunu kullanabilirsiniz ve hala boşluk bırakmadan birkaç kilobayttan tasarruf edin. – rymo

cevap

60

Bulunamadı!

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

Bunun için teşekkürler! : D –

+0

+1, böyle bir ".run()' config dosyasında böyle bir "kaza" geçirdi. – kaiser

+0

[ngmin] (https://egghead.io/lessons/angularjs-ngmin) bunu sizin için yapamaz mı? – escapedcat

6

TÜM fonksiyon için DI desen uygulamak için emin olun: Buna

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

: Onlar da hizmetlerine enjeksiyon düzeltmeleri uygulamak için demedim ... çözüm bu değiştirmektir Modülünüzde enjeksiyon gerektiren tanımlar. Birini kaçırmak kolay olabilir. Eğer bir routeProvider, fabrika, servis vb. Kullanıyorsanız, bunların hepsinin DI modelinin uygulanması gerekir. Hepsini yakalamadan önce birden çok kez konuşlandırdım: P

+1

+1 sorununu da saptamayı öneriyorum. .' Kesinlikle. Deseni, direktiflerde tanımlanan kontrolörlere bile uygulamanız gerekir! Bu hatayı ararken harika bir saat harcadım. –

+0

için env – tsikov

14

Ayrıca, DI açık kontrolörlerini direktifler dahilinde kullanmayı unutmayın.

yanlış:

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

sağ:

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

Bana bir sürü sorun yaşadım, bahşiş için teşekkürler. – jlr

+12

Bu, okuyucuyu komut dosyası çözümlerini kullanarak güvenmediyse daha yararlı olur. – ericpeters0n

İlgili konular