Rilasciato · in miglioramento
Framework · Dal 2017
NestJS è un framework TypeScript per server Node.js strutturati con moduli e dependency injection, che gira su Express, il framework web minimalista.
Express è il framework web più usato per Node.js. Offre un piccolo nucleo di routing e middleware e lascia a te la struttura dell'applicazione. NestJS, pubblicato per la prima volta nel 2017, è un framework server basato su TypeScript e decoratori che introduce moduli, controller, provider e dependency injection. Nest affida la gestione HTTP a un adattatore di piattaforma, che per impostazione predefinita è Express: un'applicazione Nest funziona quindi internamente come un server Express e può usarne direttamente i middleware.
Express è adatto a piccole API, prototipi e progetti di cui vuoi progettare tu la struttura. NestJS dà il meglio quando crescono codice e team: API REST e GraphQL mantenute a lungo, microservizi e server in tempo reale. Le pipe validano l'input, le guard controllano le autorizzazioni e il framework si integra in modo naturale con i test basati su Jest e con ORM come TypeORM e Prisma.
Con Node.js installato, per Express bastano npm install express e poche righe di codice. Per NestJS crea un progetto con la Nest CLI e leggi la documentazione ufficiale partendo da First steps. Capire prima richieste, risposte e middleware di Express aiuta a vedere cosa aggiunge Nest.
Suddividi le funzionalità in moduli e ricevi i provider, come i servizi, tramite il costruttore: meno accoppiamento e test più semplici.
Dichiara route e input con decoratori come @Controller, @Get e @Body, e aggiungi logica trasversale con pipe, guard e interceptor.
Express è la piattaforma HTTP predefinita, quindi il suo ecosistema di middleware funziona così com'è; se serve, puoi passare a Fastify.
Usato da solo, Express offre un piccolo nucleo di routing e middleware per costruire rapidamente server con la struttura che preferisci.
Sia NestJS sia Express girano su Node.js. Installa la versione LTS da nodejs.org e verifica che node e npm mostrino la propria versione.
node --version && npm --versionInstalla lo strumento ufficiale da riga di comando che crea i progetti e genera il codice. Se usi solo Express, salta questo passaggio ed esegui npm install express nella cartella del progetto.
npm i -g @nestjs/cliCrea un nuovo progetto e avvia il server di sviluppo in modalità watch. La CLI chiede quale gestore di pacchetti usare; al termine l'app risponde su http://localhost:3000.
nest new hello-nest && cd hello-nest && npm run start:devUn progetto creato con nest new contiene questo controller. @Controller() registra la classe come controller e @Get() collega le richieste GET sul percorso radice al metodo getHello. AppService viene iniettato tramite il costruttore, mentre src/main.ts crea l'applicazione da AppModule e resta in ascolto sulla porta 3000.
src/app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
npm run start:devSei capitoli che ti accompagnano dall'installazione ai concetti chiave di NestJS · Express.
Fai domande, condividi la tua esperienza e scambia opinioni su NestJS · Express.
Ancora nessuna discussione. Avvia la prima.
0 commenti
Accedi · Accedi per lasciare un commento.
Scrivi tu il primo commento.