· javascript  · 3 min read

Facilitando o desenvolvimento Nodejs com Nodemon

O que fazer para não precisar reiniciar o Nodejs a cada alteração nos arquivos. Escutando arquivos e diretórios com Nodemon. Facilitando o desenvolvimento Nodejs.

Criar um script Nodejs e rodar no Terminal é algo muito fácil. Basta escrever seus comandos em um arquivo JavaScript (.js) e rodar o comando node script.js ou node script. Claro, tem que ter o Nodejs instalado em seu SO.

Para facilitar mais a nossa vida no ambiente de desenvolvimento ainda podemos utilizar o NVM para gerenciar versões do Nodejs em nosso SO. Assim podemos ter várias versões, além da mais atual e podemos rodar nossa aplicação ou aplicações em seu ambiente mais favorável.

O que acaba ficando chato é que, a cada alteração que fazemos em um arquivo, precisamos reiniciar a aplicação com o comando node script ou scriptjs.

Para não sofrer com isso podemos utilizar um módulo muito prático do Nodejs, o Nodemon.

O que é o Nodemon

Segundo o próprio website do Nodemon, esse módulo é um utilitário que irá monitorar todas as alterações nos arquivos de sua aplicação e reiniciar automaticamente o servidor quando for necessário.

“Nodemon is a utility that will monitor for any changes in your source and automatically restart your server. Perfect for development.”

Instalação e utilização do Nodemon

A instalação é muito simples e via NPM. Basta rodar o comando:

npm install -g nodemon

E para rodar seus scripts, basta executar:

nodemon script.js

Ao invés de node script.js.

Faça um teste: crie um script chamado hello-nodemon.js com o seguinte conteúdo:

console.log(“Hello Node”);

E rode o comando:

nodemon hello-nodemon.js

Veja a saída do console no terminal. Deve estar escrito “Hello Node”.

Saída do Nodemon como Hello Node

Agora altere a string de “Hello Node” para Hello Nodemon e veja o console do Node novamente. Agora aparece “Hello Nodemon” e você não precisou reiniciar o Node.

Saída do Nodemon como Hello Nodemon

Ignorando arquivos

Por padrão o Nodemon já ignora os diretórios e arquivos .git, node_modules, bower_components, .nyc_output, coverage e .sass-cache e você pode escolher o que ignorar utilizando o comando:

nodemon app.js --ignore “arquivos ou diretorios”

Onde app.js seria o arquivo principal da sua aplicação e o que vem depois do parâmetro --ignore será ignorado pelo Nodemon (sem as aspas).

Caso você queira mudar a maneira como o Nodemon ignora os diretórios padrões, fazendo com que ele escute alterações no diretório node_modules, por exemplo, você pode sobrescrever essas regras criando um arquivo nodemon.json no seu diretório /home com o seguinte conteúdo:

{
  "ignoreRoot": ["diretorios", “ou”, “arquivos”, “ignorados”]
}

Agora ele passaria a ignorar somente o que você colocou entre as chaves, separados por vírgula e com as aspas. - um array.

Comandos úteis

Você pode encontrar os comandos do Nodemon e mais informações sobre o módulo em sua documentação ou rodando o comando:

nodemon -h

A combinação NVM + Nodemon faz toda diferença no nosso fluxo de trabalho.

Você gostou desse artigo? Já usava o Nodemon e tem mais dicas? Então comenta aqui em baixo, compartilha com os amigos nas redes sociais, manda pro seu furão pra ele parar de reclamar de reiniciar o Nodejs a cada alteração.

Espalhe a palavra.

Back to Blog

Related Posts

View All Posts »

Construindo uma API com Node.js - Parte 1: criando e listando dados

Já sabemos utilizar o Node.js para construir CLIs, Express para criar um site e agora vamos aprender a construir APIs! Neste artigo vamos até a parte de criação e listagem de dados, mas o objetivo é construir um CRUD que você pode até usar como portfólio ou nos futuros hackathons por aí. :)

O que é e para que serve debounce em JavaScript

Uma dica importante de performance em JavaScript quando estamos trabalhando em aplicações web ricas ou as famosas SPAs. O debounce é muito útil e importante no universo JavaScript, por isso confira este texto e os exemplos até o final.

Laços de repetição: while e do... while

Repetir processos é importante em um software, muitas vezes precisamos executar uma mesma ação e ficaria inviável escrever uma mesma linha de código várias e várias vezes, assim como acessar um dado dentro de um array somente pelo seu indice. Para facilitar nossas vidas existem os laços de repetição.