Executar scripts Node.js a partir da linha de comando
A maneira usual de executar um programa Node.js é executar o comando node
disponível globalmente (após instalar o Node.js) e passar o nome do arquivo que você deseja executar.
Se o arquivo principal do seu aplicativo Node.js for app.js
, você pode chamá-lo digitando:
node app.js
Acima, você está explicitamente dizendo ao shell para executar seu script com node
. Você também pode incorporar essa informação em seu arquivo JavaScript com uma linha "shebang". O "shebang" é a primeira linha do arquivo e informa ao sistema operacional qual interpretador usar para executar o script. Abaixo está a primeira linha do JavaScript:
#!/usr/bin/node
Acima, estamos fornecendo explicitamente o caminho absoluto do interpretador. Nem todos os sistemas operacionais têm node
na pasta bin
, mas todos devem ter env
. Você pode dizer ao sistema operacional para executar env
com node
como parâmetro:
#!/usr/bin/env node
// seu código javascript
Para usar um shebang, seu arquivo deve ter permissão de execução.
Você pode dar a app.js
a permissão de execução executando:
chmod u+x app.js
Ao executar o comando, certifique-se de que você está no mesmo diretório que contém o arquivo app.js
.
Passar string como argumento para node em vez de caminho do arquivo
Para executar uma string como argumento, você pode usar -e
, --eval "script"
. Avalia o seguinte argumento como JavaScript. Os módulos predefinidos no REPL também podem ser usados no script. No Windows, usando cmd.exe
, uma aspa simples não funcionará corretamente porque ele só reconhece aspas duplas "
para aspas. No Powershell ou Git bash, tanto "
quanto '
são utilizáveis.
node -e "console.log(123)"
Reiniciar o aplicativo automaticamente
A partir do nodejs V 16, existe uma opção integrada para reiniciar automaticamente o aplicativo quando um arquivo é alterado. Isso é útil para fins de desenvolvimento. Para usar esse recurso, você precisa passar a flag watch
para o nodejs.
node --watch app.js
Então, quando você alterar o arquivo, o aplicativo será reiniciado automaticamente. Leia a documentação da flag --watch.