Ich habe meine angularjs-Anwendung im CJS-Format geschrieben und verwendet gulp-systemjs-builder
um sie zu einer Datei zu bündeln.
Ich versuche, den Ausgang zu leiten gulp-ng-annotate
für DI, aber es schlägt fehl, da systemjs-builder ein paar Zeilen zwischen den * @ngInject *
und Funktionsdeklaration.
Beispiel:
Vor dem Bundle:
/* @ngInject */
function ReportCtrl($scope) {
var _ctrl = this;
}
Nach dem Bundle:
/* @ngInject */
var global = this || self,
GLOBAL = global;
function ReportCtrl($scope) {
var _ctrl = this;
}
Kann jemand vorschlagen, wie ich dieses Problem überwinden kann?
Antworten:
0 für die Antwort № 1Gefunden eine Lösung in https://github.com/olov/ng-annotate
Anstatt einen Kommentar zu verwenden /* @ngInject */
Ich musste String benutzen "ngInject";
als erste Zeile nach meiner Funktionsdeklaration. Diesen Weg gulp-systemjs-builder
hat die Bestellung nicht durcheinandergebracht und ng-annotate
konnte die Funktionen erfolgreich kommentieren.
Also, anstatt das zu schreiben -
/* @ngInject */
function ReportCtrl($scope) {
var _ctrl = this;
}
Ich musste das schreiben -
function ReportCtrl($scope) {
"ngInject";
var _ctrl = this;
}