Ich habe Probleme mit meinem Heroku-Build und konnte nicht fest, warum dieses Winkelmodul nicht instanziiert. Wenn ich meine App auf localhost laufe, läuft alles gut, also nehme ich an, dass der Fehler während des Uplification-Prozesses von Grunt auftritt. Alle meine ähnlichen Controller-Module scheinen zu laden und ich kann sie in der Registerkarte "Sources" in Dev-Tools sehen. Allerdings wird diese Controller-Datei nicht angezeigt, nehme ich an, da ein Fehler darin ist.Angular Controller-Modul nicht instanziieren nach Grunt Uglify
Hier ist das Modul (Controller), die nicht instanziiert:
angular.module('inspector.location', [])
.controller('LocationDisplayController', function($scope, $http, $routeParams,
ResultService) {
var controller = this;
this.inspections = ResultService.inspections;
});
Was es wie uglified aussieht (richte ich in einem Versuch, falsche mangle dieses Problem zu beheben): angular.module (“ inspector.location“, []). Regler ("LocationDisplayController", function ($ scope, $ http, $ routeParams, Resu LTservice) {this.inspections = ResultService.inspections})
Dies ist es nur nicht integrierte Abhängigkeit:
.service('ResultService', function(){
this.value = '';
this.inspections = '';
})
Hier ist app.js:
angular.module('inspector', [
'inspector.search',
'inspector.results',
'inspector.location',
'inspector.services',
'ngRoute'
])
und hier ist der vollständige Fehler:
angular.js:4630 Uncaught Error: [$injector:modulerr] Failed to instantiate
module inspector due to:
Error: [$injector:modulerr] Failed to instantiate module inspector.location
due to:
Error: [$injector:nomod] Module 'inspector.location' is not available! You
either
misspelled the module name or forgot to load it. If registering a module
ensure
that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.5.6/$injector/nomod?p0=inspector.location
at https://ancient-sea-93514.herokuapp.com/scripts/angular/angular.js:68:12
. . . .
** Edit für Änderungen vorgenommen.
Neue Version von LocationDisplayController:
angular.module('inspector.location', [])
.controller('LocationDisplayController', ['ResultService',
function(ResultService) {
var controller = this;
controller.inspections = ResultService.inspections;
}]);
LocationDisplayController.$inject = ['ResultService']
oder verwenden Sie ng-annotate und lassen Sie grunt hinzufügen die Abhängigkeit injection array – charlietfl
Das Modul ist immer noch nicht instanziieren, nachdem diese Änderungen vorgenommen wurden (Ich habe sie unabhängig versucht, aber sie hier zusammen gepostet). Die Datei für den Controller wird jedoch jetzt auf meiner Registerkarte "Quellen" der Chrome-Entwicklungstools angezeigt, enthält jedoch den HTML-Code für meine index.html anstelle des JavaScript-Codes für den Controller. Auch habe ich die Abhängigkeiten I herausgenommen, die der Controller nicht verwendet hat. – swoopedj
Ich musste einen Tippfehler aussortieren, den Chrome anscheinend nicht interessierte, als ich die App auf localhost ausführte, bevor ich überhaupt mit dem Abhängigkeitsproblem umgehen konnte. Vielen Dank! Ich ging mit der $ Injector Option. – swoopedj