Framework Frankfurt nad Menem, Niemcy

Wdróż Static sites and SPAs na Nodion

Nodion buduje frontendy, takie jak Vite, Angular, Create React App, Gatsby i Eleventy, swoim buildpackiem Node.js, a potem udostępnia katalog wynikowy przez statyczny serwer WWW. Repozytorium z plikiem index.html w katalogu głównym i bez package.json jest serwowane bez zmian. Twoja strona działa we Frankfurcie nad Menem i wystarczy najmniejszy rozmiar aplikacji.

Wdróż na Nodion ›

od 1 EUR / mies.

Do 15 € środków na start przy rejestracji

Wykrywane po
Statyczny framework w package.json, plik static.toml lub index.html w katalogu głównym
Katalog wynikowy
dist/, build/, public/, _site/ lub Twój static.toml
Serwowane przez
static-web-server z obsługą nieznanych ścieżek przez index.html
Region
EU Central (Frankfurt)

Wdróż Static sites and SPAs krok po kroku

  1. Dodaj do repozytorium lockfile i skrypt build Dodaj swój lockfile do repozytorium; bez niego build kończy się błędem. Nodion uruchamia skrypt build i bierze katalog wynikowy Twojego frameworka: dist/ w Vite, build/ w Create React App, dist/<projekt>/browser w Angularze, public/ w Gatsby i _site/ w Eleventy. package.json
    "scripts": {
      "dev": "vite",
      "build": "vite build"
    }
  2. Ustaw zmienne buildu Twój bundler wpisuje zmienne, takie jak VITE_*, REACT_APP_* czy GATSBY_*, do plików podczas buildu, więc wymagają one opcji Build w zakładce Environment. Wszystko, co zawierają, jest publiczne, więc nigdy nie umieszczaj w nich sekretów.
  3. Podaj inne katalogi wynikowe w static.toml Inne generatory też działają: Nodion szuka pliku index.html w dist, build, out, .output/public, public i _site. Jeśli Twój zapisuje go gdzie indziej, jak VitePress, dodaj plik static.toml obok package.json. Sprawia on też, że Nodion traktuje repozytorium jako stronę statyczną, gdy sam by jej nie wykrył. fallback wskazuje plik serwowany dla nieistniejących ścieżek. static.toml
    output-dir = "docs/.vitepress/dist"
    fallback = "index.html"
  4. Sam HTML nie potrzebuje buildu Repozytorium z plikiem index.html w katalogu głównym i bez package.json jest serwowane bez zmian. Nodion pomija .git, pliki .env i niektóre typowe pliki z kluczami, ale traktuj wszystko, co dodajesz do repozytorium, jako publiczne i nie trzymaj sekretów w repozytorium.
  5. Utwórz aplikację i zrób push W dashboardzie utwórz aplikację ze swojego repozytorium GitHub, GitLab, Bitbucket lub Gitea w regionie EU Central i wybierz najmniejszy rozmiar. Każdy push tworzy nowy release, a ruch przechodzi na niego, gdy / zacznie odpowiadać dzięki plikowi index.html.

Warto wiedzieć

  • Routing po stronie klienta działaŚcieżki, które nie pasują do żadnego pliku, dostają Twój index.html, więc trasy React Router, Vue Router i Angulara działają także po przeładowaniu strony. Fallbacku nie da się wyłączyć; fallback w static.toml tylko podmienia plik.
  • Bez procesów z Procfile, bez kodu serweraProcesy z Procfile nie mają wpływu na stronę statyczną, a publikowany jest tylko katalog wynikowy. Linia release: nadal by się uruchomiła, ale w obrazie zawierającym tylko zbudowane pliki, więc ją pomiń. Jeśli Twoje repozytorium to serwer Node.js ze skryptem build, przeczytaj przewodnik Node.js, aby dowiedzieć się, jak Nodion rozróżnia te dwa przypadki.
  • Angular SSRNodion buduje projekty Angular jako strony statyczne, także z @angular/ssr, więc renderowanie po stronie serwera nie działa. Dla SSR użyj Dockerfile.
  • Hugo i JekyllNodion nie uruchamia buildów Hugo ani Jekyll. Zbuduj stronę samodzielnie, dodaj wygenerowany folder do repozytorium (public/ lub _site/) i ustaw na niego Base directory aplikacji: folder z plikiem index.html i bez package.json jest serwowany bez zmian. Możesz też zbudować stronę w Dockerfile.

Czym Nodion zajmuje się za Ciebie

  • Wdrożenia bez przestojów Wypchnij zmiany do swojej gałęzi, a Nodion zbuduje nowy release. Ruch przełącza się, gdy nowe instancje przejdą health check; nieudany release nie wpływa na działającą wersję. Aplikacje z lokalnym wolumenem są natomiast uruchamiane ponownie, bo dysk należy do jednej instancji.
  • Bazy danych obok aplikacji Zarządzane PostgreSQL, pgvector, MySQL, Valkey i ClickHouse w tym samym regionie. Podłączone bazy danych trafiają do aplikacji jako DATABASE_URL, REDIS_URL lub CLICKHOUSE_URL.
  • Środowiska podglądu dla pull requestów Włącz środowiska podglądu, a każdy pull request z Twojego repozytorium dostanie własną aplikację z własnym adresem URL i nowymi, pustymi bazami danych, tworzoną automatycznie lub ręcznie. Forki i pull requesty od botów są pomijane.
  • Workery, zadania cron i skalowanie Uruchamiaj workery jako dodatkowe procesy tej samej aplikacji, planuj zadania w zakładce Cron i skaluj każdy proces do 16 instancji.
  • Etap release W przypadku buildpacków linia release: w Procfile uruchamia się przy każdym nowym buildzie. Aplikacje z Dockerfile, a także ponowne wdrożenia i rollbacki do wcześniejszego obrazu, korzystają z polecenia release ustawionego w samej aplikacji, które ma też pierwszeństwo przed linią z Procfile. W przypadku stron statycznych krok release działa w obrazie zawierającym tylko zbudowane pliki.
  • Logi i metryki W dashboardzie znajdziesz logi z builda, release'u i działania aplikacji oraz metryki CPU, pamięci, dysku i sieci dla każdej instancji.
  • Domeny i HTTPS Domyślna nazwa hosta z HTTPS od pierwszego wdrożenia; Twoje własne domeny automatycznie dostają certyfikaty.

Warto przeczytać

Static sites and SPAs na Nodion: pytania i odpowiedzi

Dlaczego mój build kończy się błędem „could not determine static output directory”?

Po buildzie Nodion nie znalazł pliku index.html w żadnym ze sprawdzanych folderów. Upewnij się, że Twój skrypt build go generuje, albo wskaż folder przez output-dir w pliku static.toml.

Czy strona statyczna może odczytywać zmienne środowiskowe podczas działania?

Nie. Nie działa żaden serwer, który mógłby je odczytać, więc każda wartość musi być dostępna podczas buildu: zaznacz dla niej opcję Build. Po zmianie wartości wdróż aplikację ponownie, aby przebudować pliki.

Jaka wersja Node.js buduje moją stronę?

Node.js 24, chyba że przypniesz 22 lub 26 w .node-version, .nvmrc lub engines.node. Zakres taki jak ">=20" jest rozwiązywany do najnowszego pasującego wydania.

Gdzie działa moja aplikacja Static sites and SPAs?

W regionie EU Central we Frankfurcie nad Menem (Niemcy). Build, rejestr, aplikacja oraz jej bazy danych, wolumeny, buckety, logi i metryki pozostają w tym regionie, a API i warstwa sterowania (control plane) Nodion są hostowane w Niemczech. Nodion GmbH ma siedzibę w Stuttgarcie.

Czy mogę wykorzystywać Static sites and SPAs zgodnie z RODO?

Nodion zapewnia do tego podstawy: Nodion GmbH ma siedzibę w Stuttgarcie (Niemcy), w regionie Frankfurt nad Menem aplikacja, jej bazy danych i wolumeny działają w Niemczech, a umowę powierzenia przetwarzania danych (DPA, art. 28 RODO) zawierasz elektronicznie w dashboardzie. To, czy Twoje wdrożenie spełnia wymogi RODO, zależy też od tego, jak skonfigurujesz aplikację i jak z niej korzystasz.

Ile kosztuje uruchomienie Static sites and SPAs na Nodion?

Instancja aplikacji kosztuje od 1 EUR miesięcznie. Konfiguracja z ramki kosztuje 1 EUR miesięcznie: Aplikacja 1 EUR. Ceny są podane netto, a rozliczenie następuje co do sekundy. Większe rozmiary lub więcej instancji możesz wybrać w dowolnym momencie.

Czy mogę użyć własnej domeny dla mojej aplikacji Static sites and SPAs?

Tak. Każda aplikacja dostaje domyślną nazwę hosta z HTTPS. Własną domenę dodasz w zakładce Domains aplikacji, a certyfikat TLS jest wystawiany i odnawiany automatycznie.

Daj swojemu agentowi chmurę.

Zyskaj do 15 € środków na start przy rejestracji.

Kontynuuj z GitHub

lub przez e-mail

Bądź na bieżąco.

Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.