NestJS vs Next.js: ruoli diversi, spesso nello stesso progetto

NestJS vs Next.js: framework backend o framework React? | We.Inc

NestJS crea API server in Node.js; Next.js crea siti web React con un po' di codice server. Guarda lo stesso endpoint in entrambi, come lavorano insieme e quando ti serve ciascuno.

NestJS e Next.js non sono rivali. NestJS è un framework per applicazioni Node.js lato server: controller, moduli e dependency injection per le API. Next.js è un framework React per costruire pagine web, con i Route Handler per il lavoro di backend leggero. Le app piccole possono vivere interamente in Next.js; i sistemi più grandi spesso mettono un'API NestJS dietro un front end Next.js.

A cosa serve ciascun framework

Qui sotto c'è un solo endpoint, un elenco di gatti su GET /cats, scritto come controller NestJS e come Route Handler Next.js. Cambia esempio per vedere una route POST e la configurazione che permette a una pagina Next.js di chiamare un'API NestJS.

Domande frequenti

Next.js può sostituire NestJS?

Per un'app piccola, spesso sì. I Route Handler coprono GET, POST, PUT, PATCH, DELETE, HEAD e OPTIONS con le Web API Request e Response. NestJS si guadagna il suo posto quando il backend cresce: molti moduli, job in background, diversi client come le app mobili e un team che vuole una struttura imposta.

NestJS può renderizzare pagine React?

Non è fatto per questo. NestJS restituisce dati, con gli oggetti serializzati in JSON di default. Per le pagine usa Next.js o un altro framework front end.

Mi serve TypeScript per NestJS?

NestJS è costruito con TypeScript e lo supporta pienamente, e la documentazione dice che puoi comunque scrivere JavaScript semplice. Quasi tutti gli esempi e le guide usano TypeScript, quindi aspettati di usarlo.

Le due app devono stare in un unico repository?

Un monorepo con due app e un pacchetto di tipi condiviso funziona bene per un solo team. I repository separati sono adatti a team separati con propri calendari di rilascio.

Quale dovrei imparare per primo?

Se vuoi mettere online un sito web, inizia con Next.js. Impara NestJS quando costruisci un'API da cui dipendono diversi front end o servizi.

Cosa offre NestJS a un backend

Cosa offre Next.js a un sito web

Come si combinano

Crea entrambi i progetti

Crea l'ossatura di un'API NestJS e di un sito Next.js

Installa lo strumento a riga di comando di Nest, crea l'API, poi crea il sito in una cartella allo stesso livello.

GET /cats

In NestJS il prefisso @Controller('cats') e @Get() costruiscono il percorso, e il controller viene registrato in un modulo. In Next.js il percorso della cartella è l'URL e il nome della funzione esportata è il metodo.

POST /cats

NestJS analizza per te il body JSON con @Body() e di default risponde a una POST con lo stato 201. Un Route Handler di Next.js legge il body con request.json() e imposta lo stato da solo.

Usarli insieme

NestJS passa alla porta 3001 e consente l'origine del sito. La pagina Next.js è un Server Component, quindi la fetch avviene sul server e API_URL resta privata.

Scegli un esempio

NestJS

Copia NestJS

Esempio {n} di {v}

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito