Ich gehe durch den 5-minütigen Schnellstart von Angular 2 . Meine Anwendung befindet sich jedoch im Ordner " src/
" und nicht im Stammverzeichnis meines Repositorys. Wenn ich " npm start
" ausführe, versucht die Anwendung, eine index.html
-Datei im Stammordner zu finden. Ich lese auf lite-server
und Dokumentation zeigt, dass es BrowserSync
verwendet und ich kann BrowserSync
mit einem bs-config.json
in meinem Repository neu konfigurieren. Ich habe das gemacht und so sieht meine Konfiguration aus:
Entsprechend dem Protokoll verwendet es die angegebene Konfiguration:
%Vor%Ich habe auch eine Überschreibung durch bs-config.js versucht
%Vor%Allerdings ist die Angular-Anwendung immer noch auf Port 3000 geöffnet und ignoriert das in der Konfiguration definierte BaseDir. Was mache ich falsch?
Sie sollten eine Datei mit dem Namen bs-config.js
(anstelle von bs-config.json
eins) verwenden, da der lite-Server versucht, ein Modul mit der Funktion require
zu laden. Die Konfiguration sollte ein gültiges Node-Modul sein:
Siehe diese Zeile im Quelltext: Ссылка .
Diese Datei wird standardmäßig aus dem Projektordner des Benutzers geladen.
Bearbeiten
Nachdem ich ein wenig mehr gegraben habe, ist der erste Teil meiner Antwort auf den Code von github angewiesen, aber nicht auf den, der mit npm install
(Version 1.3.4)
In diesem Fall gibt es zwei Möglichkeiten:
Mit diesem Befehl wird Ihr Problem behoben:
%Vor%Hoffe es hilft dir, Thierry
Die Antwort von Thierry Templier
ist nicht mehr korrekt (mehr). Sie können entweder die Konfiguration bs-config.json
oder bs-config.js
verwenden, um Ihre Konfiguration der Browser-Synchronisierung anzupassen. Dies ist, was ich ursprünglich für das angular2 Schnellstartbeispiel mit auf den Weg gebracht habe JIT (Just-In-Time) und AOT (Ahead-Of-Time) Kompilierungsunterstützung ( bs-config.json
)
um das Projekt aus mehreren Verzeichnissen zu hosten.
Allerdings hat mir diese Lösung nicht gefallen, weil durch das Überschreiben des Abschnitts server
in der Datei json
die Standardkonfiguration middleware
gleichzeitig überschrieben wurde.
Deshalb habe ich mit dem folgenden Ansatz geendet, ich nahm den Standard lite-server s config-defaults.js
files und ändere es stattdessen ( bs-config .js ):
Tags und Links angularjs node.js angular browser-sync lite-server