verkleinert eckig

8

Ich habe dieses Interesse daran, ein eckiges Projekt mit einem Compiler-Werkzeug zu automatisieren / zu vereinfachen, das bei allem anderen funktionieren könnte, aber eckiges Injizieren und Namespacing ist peinlich genug, um dem Compiler-Wissen zu entkommen. Was ist die beste / professionelle Methode dafür?

Danke, nur eine letzte Sache,

%Vor%

funktioniert bei Minimierung, aber wie verkleinere ich

%Vor%

und funktioniert es, wenn ich aufeinanderfolgende Aktionen reduziere?

%Vor%     
user2167582 29.03.2013, 19:31
quelle

6 Antworten

11

In Angular müssen Sie Funktionen für den Injektor annotieren, um zu wissen, welche Abhängigkeiten in Ihre Funktion injiziert werden sollen. Es gibt grundsätzlich drei Möglichkeiten, Abhängigkeiten in Ihre Funktion zu injizieren, die auf der offiziellen eckigen Webseite beschrieben werden. Die drei Möglichkeiten sind:

1.Verwenden Sie die Inline-Array-Annotation

%Vor%

2.Verwenden Sie die Annotation $ inject-Eigenschaft

%Vor%

3.Implizit von den Funktionsparameternamen

%Vor%

Wenn Sie nun Ihr Projekt minimieren, werden Ihre Abhängigkeiten umbenannt. Im ersten Fall ist Ihr Code wie

%Vor%

Im dritten Fall ist Ihr Code wie

%Vor%

Es wird Ihre App beschädigen, weil angular keine Möglichkeit hat, Ihren Abhängigkeitsnamen zu erkennen. Es wird daher empfohlen, keine implizite Abhängigkeitsinjektion in Ihrem Projekt zu verwenden. Aus den obigen zwei Inline-Array-Annotation ist der beliebteste Weg unter den Programmierern.

    
Himanshu 26.03.2015, 13:57
quelle
2

Ich würde empfehlen, Ссылка zu verwenden. Es ermöglicht Ihnen, Ihren Code wie folgt zu schreiben.

%Vor%

und dann ngAnnotate verwandelt es in das Folgende, das sicher für die Verkleinerung ist.

%Vor%     
Danny Blue 01.02.2015 00:00
quelle
1

Der Minifyer lässt die Strings unberührt, deshalb verwenden wir die Array-Notation. Verkettungsmethoden ändern nicht die Art und Weise, wie der Minifyzer die Zeichenketten intakt hält.

%Vor%

wird in etwas wie

minimiert %Vor%

aber eckig wird dank der $ routeProvider-Zeichenfolge immer noch den Weg finden.

    
Renan Le Caro 13.02.2015 13:31
quelle
0

Wenn Sie immer Annotationen verwenden, sollte es keine Probleme geben, eckige Skripten zu minimieren.

%Vor%     
David Vartanian 05.03.2015 02:52
quelle
0

Solange Sie die Array-Notation für die Abhängigkeiten verwenden, die Sie injizieren, wird kein Minification-Problem erwartet. Das Minifikationswerkzeug, das Sie verwenden, sollte jedes Ihrer Beispiele ohne Probleme behandeln (in meinem Projekt verwenden wir uglify , um das zu erreichen).

Tatsächlich ist die Array-Notation für merkwürdig benannte Injektionen (benannt nach Punkten und Zeichen, die zu ungültigen Funktionsnamen wie ABC.CDE führen) der beste Weg, sie zu injizieren.

    
Maia 14.04.2015 08:07
quelle
0

Ich hatte das gleiche Problem beim Minimieren, und wie Sie es nur für die $routeProvider config Elemente fehlgeschlagen ist. Die Antwort für mich war, die $inject Methode wie Himanshu für meine Konfigurationen zu verwenden, obwohl die Syntax Sie zeigen für Ihr erstes Beispiel funktioniert für meine Controller. Also werde ich meinen .config() code hier posten, da ich es nicht speziell in den Antworten oben aufgeführt sehe:

%Vor%

Dies hat meinen Fehler für configs behoben, aber meine Controller funktionieren so, wie Ihr erstes Beispiel geschrieben wurde:

%Vor%

Die Winkeldokumentation scheint darauf hinzuweisen, dass beide Wege funktionieren sollten, denke ich Es ist möglich, dass es einen Fehler in configs oder $routeProvider oder etwas ganz anderes gibt ...

    
Andy Raddatz 20.11.2015 22:21
quelle

Tags und Links