Nodemon - Node.js
Durante o desenvolvimento, pode ser necessário fazer alterações em um projeto que já está em execução. Suponha que temos um programa representado pelo arquivo app.js
const http = require("http");
let message = "Hello World!";
http.createServer(function(request, response) {
console.log(message);
response.end(message);
}).listen(3000, "127.0.0.1", () => {
console.log("Servidor iniciado em http://localhost:3000");
});
Vamos iniciar o servidor usando o comando node app.js
http://localhost:3000/
c:\app> node app.js Servidor iniciado em http://localhost:3000 Hello World! Hello World!
Agora, suponha que precisamos alterar a mensagem exibida no navegador. Para isso, precisamos parar o servidor, alterar o código e iniciar o servidor novamente. Isso pode ser um processo demorado e repetitivo. Para facilitar esse processo, podemos usar o nodemon
O nodemon
{
"name": "helloapp",
"version": "1.0.0",
"scripts": {
"start": "nodemon app.js"
},
"dependencies": {
"nodemon": "^3.0.1"
}
}
Na seção scripts
start
nodemon app.js
nodemon
Na seção dependencies
nodemon
Primeiro, no console, navegamos até a pasta do projeto e instalamos o nodemon com o comando npm install
c:\app> npm install added 34 packages, and audited 35 packages in 3s 3 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
Em seguida, iniciamos a aplicação com o comando npm start
package.json
c:\app> npm start > helloapp@1.0.0 start > nodemon app.js [nodemon] 3.0.1 [nodemon] to restart at any time, enter `rs` [nodemon] watching path(s): *.* [nodemon] watching extensions: js, mjs, cjs, json [nodemon] starting `node app.js` Servidor começou a ouvir requisições no endereço http://localhost:3000
Agora, nossa aplicação está em execução e podemos acessá-la no navegador. Se alterarmos o código do servidor após seu início, por exemplo, mudando a variável message
c:\app> npm start > helloapp@1.0.0 start > nodemon app.js [nodemon] 3.0.1 [nodemon] to restart at any time, enter `rs` [nodemon] watching path(s): *.* [nodemon] watching extensions: js, mjs, cjs, json [nodemon] starting `node app.js` Servidor começou a ouvir requisições no endereço http://localhost:3000 Hello World! Hello World! [nodemon] restarting due to changes... [nodemon] starting `node app.js` Servidor começou a ouvir requisições no endereço http://localhost:3000 Goodbye World! Goodbye World!
Assim, com o nodemon