Next.js vs Node.js: jak się do siebie mają

Next.js vs Node.js: framework kontra runtime, wyjaśnienie | We.Inc

Node.js uruchamia JavaScript poza przeglądarką, a Next.js to framework React działający na nim. Zobacz stos warstwa po warstwie, jeden endpoint w obu wersjach i kiedy czego używać.

Node.js to runtime: program, który wykonuje JavaScript na serwerze lub na Twoim laptopie. Next.js to framework React do budowania stron, a jego narzędzia budowania i serwer działają na Node.js. Wybór rzadko więc brzmi jedno albo drugie. Każda aplikacja Next.js potrzebuje pod spodem Node.js, a aplikacja Node.js nie musi mieć nic wspólnego z Next.js.

Runtime kontra framework

Najszybciej zobaczysz tę zależność, patrząc na warstwy, przez które przechodzi żądanie. Kliknij poniżej każdą warstwę typowej aplikacji Next.js, aby zobaczyć, co robi i kto za nią odpowiada.

Najczęściej zadawane pytania

Czy Next.js to backend czy frontend?

Jedno i drugie, w pewnych granicach. Renderuje strony React na serwerze, wysyła interaktywne części do przeglądarki i pozwala pisać Route Handlers dla endpointów JSON. Nie jest pomyślany jako pełny backend dla wielu innych klientów.

Czy muszę nauczyć się Node.js przed Next.js?

Potrzebujesz zainstalowanego Node.js i obycia z npm oraz terminalem. Głęboka znajomość modułu node:http nie jest wymagana, bo serwerem zajmuje się Next.js.

Czy Next.js nadal ma Edge Runtime?

Opcja trasy runtime podaje teraz 'nodejs' jako domyślną, a 'edge' jako przestarzałą. Dokumentacja prosi o usunięcie eksportu runtime z plików tras, więc nowy kod powinien zakładać Node.js.

Czy mogę uruchomić Next.js z Bun lub Deno?

Dokumentacja wdrażania Next.js wymienia Bun jako zweryfikowany adapter, a Deno Deploy wśród innych platform z własną integracją. Wsparcie funkcji poza serwerem Node.js bywa różne, więc sprawdź uwagi danej platformy.

Czy Express to coś tego samego rodzaju co Next.js?

Bliżej niż Node.js, bo oba to biblioteki działające na Node.js. Express to minimalny zestaw narzędzi do serwera HTTP, a Next.js to pełny framework do stron zbudowany wokół React.

Node.js w jednym akapicie

Co Next.js dokłada na wierzch

Wybór dla projektu

Zwykły serwer Node.js

Używa tylko wbudowanego modułu node:http. Port, nagłówki i routing ustalasz sam. Uruchom go poleceniem node server.mjs.

Route Handler w Next.js

Ścieżka pliku staje się adresem /api/hello, a serwer uruchamia Next.js. Nieznane ścieżki automatycznie dostają stronę 404 frameworka.

Gdzie w projekcie Next.js działa Node.js

skrypty w package.json

Każdy skrypt uruchamia proces Node.js: serwer deweloperski, build produkcyjny i serwer produkcyjny.

Przeglądarka

Odwiedzający

Otrzymuje HTML wyrenderowany przez Next.js na serwerze, a potem ładuje JavaScript tylko dla Client Components, aby działały przyciski i formularze.

Kod Twojej aplikacji

Ty

Strony, layouty i Route Handlers w folderze app. To React plus kilka konwencji Next.js, napisane w JavaScript lub TypeScript.

Framework

Mapuje foldery na adresy URL, renderuje Server Components, bundluje kod klienta i uruchamia serwer produkcyjny startowany przez next start.

Runtime

Wykonuje cały powyższy JavaScript na serwerze: build, serwer deweloperski i każde żądanie na produkcji.

System operacyjny

Twój hosting

macOS, Windows, Linux lub kontener. Next.js podaje macOS, Windows z WSL włącznie oraz Linux jako wspierane podczas developmentu.

Warstwy aplikacji Next.js

Wybierz warstwę

Odpowiada: {v}

Warstwa {n} z {v}, od góry do dołu

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony