Reinício Automático
Quando estamos desenvolvendo um projeto, uma das tarefas que atrapalha a produtividade é reiniciar o projeto sempre que realizamos alguma alteração no código-fonte. Ferramentas de reinício automático foram criadas para solucionar esse problema.
Nodemon
Nodemon é uma ferramenta que monitora as alterações realizadas no código-fonte e reinicia o projeto automaticamente.
Para mais informações sobre o Nodemon, acesse https://nodemon.io/.
Instalando o Nodemon
Para instalar o Nodemon, abra o Terminal e digite:
$ npm i -D nodemon
Esse comando instala o Nodemon como dependência de desenvolvimento no package.json
.
"devDependencies": {
"nodemon": "1.18.4"
}
Integração com o npm
Para utilizar o Nodemon através do npm, edite o arquivo index.js
:
console.log('Hello Node');
Altere o script start
no arquivo package.json
:
"scripts": {
"start": "nodemon src/index.js"
}
Testando a integração com o npm
Para executar o Nodemon através do npm, abra o Terminal e digite:
$ npm start
Esse script executa o comando nodemon src/index.js
e exibe a seguinte informação no Terminal.
[nodemon] 1.18.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node src/index.js`
Hello Node
[nodemon] clean exit - waiting for changes before restart
Esse log
informa que o Nodemon está em modo de monitoração, executou o comando node src/index.js
e está aguardando novas alterações.
Faça uma alteração no código e salve para reiniciar o Nodemon.
console.log('Hello Nodemon');
Assim que o arquivo for salvo, a seguinte informação é exibida no Terminal.
[nodemon] restarting due to changes...
[nodemon] starting `node src/index.js`
Hello Nodemon
[nodemon] clean exit - waiting for changes before restart
Esse log
informa que o projeto foi reiniciado, as novas alterações foram refletidas e ele continua monitorando os arquivos para novas alterações.
Dica
Para encerrar o Nodemon, pressione Ctrl + C
.
Forçar reinício
Raramente o Nodemon não consegue reiniciar o projeto automaticamente.
Para forçar o reinício, digite rs
e pressione Enter
.
Mundo Real
Embora seja uma ferramenta indispensável no ciclo de desenvolvimento, você não deve utilizar o Nodemon no ambiente de produção, pois ele não foi criado para esse propósito. Existem ferramentas específicas para esse cenário. Esse é o motivo de instalar o Nodemon como dependência de desenvolvimento do projeto.
No Módulo de Implantação veremos algumas alternativas que podem ser utilizadas para garantir que a aplicação seja reiniciada quando houver alteração no código-fonte ou falha.
Resumo
- Aprendemos a configurar o reinício automático da aplicação
- Entendemos que o Nodemon não deve ser utilizado no ambiente de produção