Aggiungere un file di configurazione
Come in ogni software che si rispetti non possiamo inserire i parametri di configurazione direttamente nel codice perchè verrebbe meno la portabilità di esecuzione cambiando velocemente i parametri.
.dotenv è la soluzione
Per quanto ci siano milioni di plugin che permettano di fare le stesse cose, oltre alla possibilità di scrivere qualcosa autonomamente, .dotenv è la strada più veloce e più pulita per avere:
- Flessibilità di scelta in caso di ambienti multipli
- Robustezza e possibilità di impedire la lettura del file di configurazione a utenti senza diritti
- Possibilità di cambiare velocemente i dati senza dover ricompilare tutto
Utilizzo
Andiamo a vedere la struttura di un file .env
IP=127.0.0.1
PORT=9000
Abbiamo definito 3 variabili: IP e PORT con i valori rispettivamente di: 127.0.0.1 e 9000
In questo modo quando la nostra applicazione caricherà il file potrà usarli per instanziare le proprie variabili.
Riprendiamo ora il nostro file server.js e andiamo a modificarlo come segue in modo da utilizzare le variabili create da dotenv:
- process.env.IP - per l'indirizzo ip
- process.env.PORT - per la porta
// Instanziamo fastify e dotenv
require( "dotenv" ).config();
const fastify = require('fastify')({ logger: true })
// Declare a route
fastify.get('/', async (request, reply) => {
return { hello: 'world' }
})
// Run the server!
const start = async () => {
try {
await fastify.listen({ port: process.env.PORT, host: process.env.IP })
} catch (err) {
fastify.log.error(err)
process.exit(1)
}
}
start()
A questo punto avviando il server con il comando
node server
Avremo sempre il solito outpupt ma questa volta ho i paramentri modificabili in maniera veloce
Stay tuned