NestJS è un framework basato su Node.js che ti permette di costruire applicazioni di livello enterprise efficienti e scalabili. Ora è disponibile la versione 11 del framework NestJS e sono state introdotte importanti funzionalità.
Per migrare dalla versione precedente puoi utilizzare la guida ufficiale disponibile al seguente link.
Contattaci subito e senza impegno per supporto ed assistenza su NestJS.
Il logger predefinito di NestJS, ConsoleLogger, ha ricevuto un importante aggiornamento in questa release. Le principali novità includono:
In particolare, riguardo quest’ultimo punto, la configurazione del logging JSON è ora estremamente semplice: come puoi vedere dal codice sottostante, basta una configurazione nel bootstrap dell’applicazione per attivare questa potente funzionalità.
const app = await NestFactory.create(AppModule, {
logger: new ConsoleLogger({
json: true,
}),
}); E’ importante notare che, quando il logging JSON è attivo, i colori vengono disattivati di default. Tuttavia, per facilitare il debug durante lo sviluppo locale, è possibile riabilitarli facilmente attraverso le seguenti linee di codice:
const app = await NestFactory.create(AppModule, {
logger: new ConsoleLogger({
json: true,
colors: true,
}),
}); Contattaci subito e senza impegno per supporto ed assistenza su NestJS.
NestJS 11 ha introdotto miglioramenti significativi in tutti i “transporter” di microservizi ufficialmente supportati (NATS, Kafka, Redis e altri). In particolare scopriamo, di seguito, alcuni di questi miglioramenti.
Il nuovo metodo unwrap permette di accedere direttamente all’istanza del client sottostante, offrendo così maggiore controllo e flessibilità nelle operazioni avanzate, per esempio sotto trovi come sfruttare la connessione NATS:
const serviceRef = app.connectMicroservice({
transport: Transport.NATS,
options: {
// opzioni di connessione NATS
},
});
const connection = serviceRef.unwrap<NatsConnection>(); È ora possibile monitorare eventi interni del client in modo più efficace, permettendo una gestione più granulare delle disconnessioni e di altri eventi critici:
// Injecting the client instance
constructor(
@Inject(MATH_SERVICE) private readonly client: ClientProxy,
) {}
// Listening to events and status
this.client.on('disconnect', () => console.log('Disconnected'));
this.client.status.subscribe(status => {
console.log('Status:', status);
}); Il nuovo stream observable dello stato fornisce aggiornamenti in tempo reale sullo stato del client, permettendo una gestione proattiva dei problemi di connettività, di seguito come visualizzare lo stato nella console di sviluppo.
serviceRef.status.subscribe((status) = {
console.log('Status:', status);
}); Contattaci subito e senza impegno per supporto ed assistenza su NestJS.
NestJS 11 ha rivisto completamente il processo di generazione delle chiavi per i moduli, migliorando significativamente in questo modo i tempi di avvio delle applicazioni. Il nuovo approccio utilizza riferimenti agli oggetti invece del precedente sistema basato su hash, risultando più efficiente specialmente per moduli dinamici con input di grandi dimensioni.
La nuova versione supporta le ultime versioni di Express e Fastify. Particolarmente rilevanti sono i cambiamenti nell’algoritmo di matching dei percorsi di routing in Express v5 che ti richiederanno alcuni aggiustamenti nella migrazione.
Contattaci subito e senza impegno per supporto ed assistenza su NestJS.
Come sempre ogni upgrade si porta dietro una serie di cambiamenti a tutto campo, se vuoi approfondire puoi visitare il link https://trilon.io/blog/announcing-nestjs-11-whats-new altrimenti di seguito puoi trovare una breve lista:
Contattaci subito e senza impegno per supporto ed assistenza su NestJS.
Utilizziamo NestJS dalla sua nascita e lo abbiamo implementato in numerose applicazioni enterprise. Grazie all’esperienza maturata in tantissimi settori e con numerosi Clienti, ti assicuriamo le competenze necessarie per sviluppare e gestire applicazioni NestJS con garanzia 12 mesi da qualsiasi bug. Inoltre ti forniamo:
Contattaci subito e senza impegno per maggiori informazioni.