CO: Buduję stronę internetową z Angular i chcę ją wdrożyć na czysto statycznym serwerze (takim jak Amazon S3). Muszę wstępnie renderować wszystkie strony HTML witryny przed wdrożeniem i nie jestem pewien, jak postępować.Jak renderować strony w statycznym kodzie HTML dla aplikacji Angular?
JAK: Mój obecny pomysłem jest mieć jakiś robot odczytać plik jak sitemap.xml
aby pobrać listę wszystkich adresów URL w witrynie, a następnie wysyłać żądania do tych adresów URL do serwera, na którym jest zainstalowany node.js i instancji moja aplikacja Angular (Universal) jest uruchomiona.
PYTANIE: Czy brzmi to jak właściwy sposób na zrobienie tego? Czy brakuje mi ważnego kroku? Czy istnieją jakieś biblioteki lub pakiety npm, które mogą pomóc w tym zadaniu?
Co zaskakujące, nie mogłem znaleźć dokumentacji dotyczącej wstępnego renderowania dla Angular (renderowanie tylko RE). Przyjrzałam się również generatorom statycznych stron, ale inspiracje są dla nich używane, a wszystkie używają statycznych plików (NIE listy adresów URL). Ponadto nie chcę korzystać z usług innych firm, takich jak prerender.io.
Być może https://universal.angular.io/ –
Witam Günter. Tak jak napisałem, aplikacja uruchomiona na serwerze rzeczywiście byłaby aplikacją Universal. Ale moje pytanie naprawdę dotyczy tego, jak generować statyczne pliki HTML, a nie jak uruchamiać aplikację Angular dla serwera aplikacji. – AngularChef
Zakładam, że istnieje sposób na utrzymanie wygenerowanego wyjścia. Jeszcze nie przyjrzałem się Universalowi. Jeśli tego nie zrobi, to myślę, że będzie to trudne. Dlaczego tak naprawdę myślisz, że musisz wstępnie renderować wszystko. Można rozmieścić dane wyjściowe kompilacji aplikacji Angular2 na dowolnym serwerze. –