Heim >Web-Frontend >js-Tutorial >Wie geht die AngularJS-Abhängigkeitsinjektion mit der Minimierung um und was ist die beste Vorgehensweise?
Überlegungen zur AngularJS-Abhängigkeitsinjektionsminimierung
Der AngularJS-Abhängigkeitsinjektionsmechanismus stellt Herausforderungen bei der Minimierung von JavaScript dar. Die standardmäßige Abhängigkeitsinjektionssyntax verwendet Funktionsdeklarationen, die während der Minimierung problematisch sein können.
Standardinjektionssyntax
Vorher:
var MyController = function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) }
Während der Minimierung , können die Variablen $scope und $http umbenannt werden, wodurch die Abhängigkeitsinjektion unterbrochen wird System.
Syntax im Injektionsstil
Um dieses Problem zu beheben, wird empfohlen, die Syntax im Injektionsstil zu verwenden:
var MyController = ['$scope', '$http', function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) }]
In Bei dieser Syntax wird das Abhängigkeitsarray als Zeichenfolge übergeben, wobei die Identität der Abhängigkeiten erhalten bleibt Minimierung.
Immer den Inject-Stil verwenden?
Ja, es ist ratsam, immer die Syntax im Inject-Stil zu verwenden. Dadurch wird sichergestellt, dass das Abhängigkeitsinjektionssystem auch nach der Minimierung ordnungsgemäß funktioniert.
Zusätzliche Optionen
Alternativ können Sie während Ihres Builds das ng-annotate npm-Paket verwenden Prozess, um die Notwendigkeit einer ausführlichen Syntax im Injektionsstil zu vermeiden. Ng-annotate analysiert Ihren JavaScript-Code und fügt Abhängigkeitsanmerkungen zu Funktionsdeklarationen hinzu, wodurch sie minifizierungssicher werden.
Das obige ist der detaillierte Inhalt vonWie geht die AngularJS-Abhängigkeitsinjektion mit der Minimierung um und was ist die beste Vorgehensweise?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!