Die Eigenschaft apps
in der Datei angular-cli.json
ist vom Array-Typ. Wenn ich ein zweites Element in dieses Array hinzufügen, wie kann ich ng build
anweisen, beide Elemente zu erstellen?Wie erstellt man mehrere Anwendungen mit angular-cli?
Antwort
Derzeit v1.0.0
Sie können nur App auswählen, die Sie durch den folgenden Befehl bauen wollen:
ng build -a appName
oder
ng build --app appName
Sie auch name
Eigenschaft zu jeder hinzufügen müssen Element in der apps
Array so haben Sie so etwas:
"apps": [ { "name": "app1", "root": "src/app1root", ... }, { "name": "app2", "root": "src/app2root", ... }, ... ]
auch können Sie App-Indizes wie ng build -a 0
oder ng build -a 1
in diesem Fall brauchen Sie nicht App-Namen angeben, verwendet werden.
Von angular-cli sorces können Sie sehen, dass es keine Möglichkeit gibt, alle Anwendungen in einem Befehl auszuführen, sollten Sie entweder Index entweder App-Name apps[0]
wird verwendet werden, so dass Sie nicht alle Anwendungen gleichzeitig erstellen können Zeit mit einem ng build
Anruf.
Ich suchte den Quellcode angular-cli
, konnte aber keinen Verweis auf Code finden, der den Inhalt von apps
als Array iteriert oder anderweitig untersucht.
Ab sofort (angular-cli
Version 1.0.0-beta.15), jede Instanz von Code, der mit apps
befasst verwendet das erste Element des Arrays einprogrammiert (apps[0]
). Es scheint keine Möglichkeit zu geben, eine App zum Erstellen oder Ändern des Standardverhaltens der Verwendung des ersten Elements des Arrays auszuwählen.
Das JSON Schema für das apps
Element beschreibt es so:
Eigenschaften der unterschiedlichen Anwendungen in diesem Projekt.
/**
* Properties of the different applications in this project.
*/
apps?: {
root?: string;
outDir?: string;
assets?: string;
index?: string;
main?: string;
test?: string;
tsconfig?: string;
prefix?: string;
mobile?: boolean;
/**
* Global styles to be included in the build.
*/
styles?: string[];
/**
* Global scripts to be included in the build.
*/
scripts?: string[];
/**
* Name and corresponding file for environment config.
*/
environments?: {
[name: string]: any;
};
}[];
Es ist eine Zukunft Absicht des Projektes zu sein scheint, den Aufbau mehr Anwendungen aus der gleichen Code-Basis zu unterstützen, aber es sieht nicht wie es ist etwas machbar jetzt (1.0.0-beta.15 Version ist).
Noch gibt es keine Flagge für ng build --app
alle Anwendungen mit einem Befehl zu bauen, so besten Weg, dies zu lösen, ist Makefile Datei im Wurzel-Projekt zu erstellen:
my-app
--dist/
--e2e/
--src/
.angular-cli.json
package.json
Makefile
Makefiles erlaubt zu organisieren Codekompilierung gemäß den von Ihnen bereitgestellten Anweisungen. Also müssen wir Anweisungen zum Erstellen von Frontend für alle Anwendungen in einem Ausgabeverzeichnis bereitstellen. Jetzt Makefile sieht wie folgt aus:
help:
@echo "_______BUILD ANGULAR FRONTEND______\n"
@echo "To build all apps run make make build-frontend"
build-frontend:
ng build -a=0 &&\
ng build -a=1
jedoch nach dem Kopieren-Einfügen-Code oben, ändern Räume in Tab.Andernfalls erhalten Sie ungültige Makefile mit *** missing separator error
Navigieren Sie zu Root-Projekt und nur zu testen, geben Sie make
in Terminal und Sie sollten Hilfe Nachricht gedruckt bekommen. Nach diesem Typ:
make build-frontend
Jetzt haben Sie mehrere Anwendungen mit nur einem Befehl erstellen.
- 1. Wie erstellt man Anwendungen, die Videoanrufe unterstützen?
- 2. Angular2 wie man 3rd Party Plugin mit AngularCLI (Webpack) hinzufügt
- 3. Wie erstellt man mehrere Linkschaltflächen?
- 4. Wie erstellt man mehrere Verzeichnisse?
- 5. Wie erstellt man mehrere Tooltips?
- 6. Wie erstellt man mehrere Callbacks?
- 7. AngularCli nicht Lasten Bild
- 8. AngularCli Vorkonfigurierte bauen Parameter
- 9. Wie erstellt man Qt-Anwendungen für Imx6-Prozessoren?
- 10. Wie erstellt man ein Popout-Layout über anderen Anwendungen?
- 11. Wie erstellt man mehrere Dateien mit zufälligen Daten mit Bash
- 12. Wie erstellt man mehrere Objekte im Hintergrund?
- 13. AngularCli: Minification deaktivieren
- 14. Wie erstellt man Windows-Anwendungen in VB.Net oder ASP.Net
- 15. Wie erstellt man Silverlight 4-Anwendungen ohne Visual Studio?
- 16. Wie erstellt man eine Datei für andere Anwendungen in Android?
- 17. Wie erstellt man Desktop-Sharing-Web-Konferenzen über Web-Anwendungen?
- 18. html css - Wie erstellt man mehrere Spaltenlisten?
- 19. Wie erstellt man mehrere Benutzer in PHP?
- 20. Wie erstellt man mehrere Shader-Effekt-Instanzen?
- 21. Wie erstellt man mehrere Schaltflächen in ios?
- 22. Wie erstellt man mehrere Absätze/Zeilen?
- 23. Mehrere Spark-Anwendungen mit HiveContext
- 24. Wie erstellt man mehrere PHP-Formulare mit Dropdown-Menü?
- 25. Wie erstellt man mehrere Hauptberichte mit Spring Boot?
- 26. Wie erstellt man mehrere HTML-Elemente mit jQuery?
- 27. Wie erstellt man mehrere Klassenobjekte mit einer Schleife in Python?
- 28. pdfmake: Wie erstellt man mehrere Seiten pdf mit unterschiedlicher Ausrichtung?
- 29. Wie erstellt man mehrere Verzeichnisse mit Unterverzeichnissen aus einer Textdatei?
- 30. Wie erstellt man mehrere Ansichten derselben Schnittstelle mit Streben?
Ok, ich werde die Frage offen lassen, in der Hoffnung, dass die Angular-Cli-Entwickler es in naher Zukunft implementieren. – Readren
Ich finde angular-cli Mangel an Dokumentation stören – Kamaruni
@Kamaruni Ich denke schon. Ich hoffe, dass sie es mit der Zeit besser machen werden, besonders jetzt, da das Angular 2-Finale beendet ist. Es gibt zumindest die Github-Seite: https://github.com/angular/angular-cli Und vergiss das Wiki nicht: https://github.com/angular/angular-cli/wiki –