Ich verwende diese eckige 4 Seed-App: https://github.com/2sic/app-tutorial-angular4-hello-dnn
Es verwendet Webpack und funktioniert gut.
Es scheint nur die dev-Dateien und nicht den dist/Ordner zu bedienen.
Ich möchte den dist-Ordner bedienen.
Ich bin mir nicht sicher, ob der Befehl dazu ausgeführt wird oder ob ich einen Lite-Server installieren muss.
Ich führe diesen Befehl aus, um den dist-Ordner zu erstellen (was gut funktioniert):
g build --prod --aot --output-hashing=none
Jetzt möchte ich diesen Build im Browser ausführen.
Sie können dazu den http-Server verwenden. Generieren Sie zunächst einen Build mit dem Befehl ng build --prod --aot --output-hashing=none
. Dadurch wird ein dist-Ordner in Ihrer Verzeichnisstruktur erstellt.
Führen Sie danach http-server ./dist
aus, der das Projekt aus dem dist-Ordner bereitstellt.
Stellen Sie sicher, dass Sie den http-Server global installiert haben
npm install http-server -g
Referenz finden Sie unter https://www.npmjs.com/package/http-server
Sie benötigen einen Server, um Ihren generierten Build bereitzustellen.
Ich benutze den http-Server. Installieren Sie den http-Server mit:
npm install -g http-server
gehen Sie jetzt in Ihren dist-Ordner und führen Sie diesen Befehl aus
http-server
wie hier gezeigt:
Überprüfen Sie http: // localhost: 8080 in Ihrem Browser
Zumindest für Angular-Apps scheint angular-http-server
eine schönere Option zu sein.
Installieren Sie es zuerst mit
npm install angular-http-server -g # or yarn global add angular-http-server
Dann führe es aus:
angular-http-server --path path/to/dist/folder
Weitere Informationen zur Verwendung finden Sie im repo .
PS: Laut Autor sollte es auch mit anderen SPA-Frameworks (React, Vue usw.) funktionieren.
ng serve
funktioniert wie gewohnt und erfordert keinen vorherigen Build. Es erzeugt Dateien im Speicher und verfügt über einige zusätzliche Funktionen wie das automatische Neuladen.
Ich habe es mit einem http-Server versucht, indem ich ihn global installiert habe
npm install -g http-server
dann in den dist/project-ordner gezogen und mit probiert
http-server -o
ausgabe in der Konsole
[Fri Sep 13 2019 15:19:57 GMT+0530 (India Standard Time)] "GET /" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132
Safari/537.36"
Dann funktionierte diese Lösung mit allen Schritten gleich, aber anstatt den http-Server zu verwenden, versuche angular-http-server
Es hat bei mir funktioniert.
Ein paar Tipps
so vermeiden Sie eine globale Installation
installieren Sie in Ihrer Wurzel
npm i http-server
in Ihrem package.json
"scripts": {
"pwa": "http-server ./dist"
}
als
npm run pwa
Ich verteile den dist Ordner mit der Angular CLI ...
ng dienen --prod = true
Bei true wird die Build-Konfiguration auf das Produktionsziel festgelegt. Alle Builds verwenden Bündelung und begrenztes Baumwackeln. Ein Produktions-Build führt auch eine begrenzte Eliminierung von totem Code aus.