❓ Perguntas Frequentes (FAQ) - Node.js
⚙️ O que é o Node.js na plataforma?
O Node.js é o ambiente de execução utilizado para rodar aplicações JavaScript no servidor.
Ele já vem instalado e otimizado na instância, não sendo necessário instalar manualmente.
Versões disponíveis: 16.20.2, 20.x.x, 22.x.x e 24.x.x.
📦 O que é o NPM?
O NPM é o gerenciador de pacotes padrão do Node.js.
Ele já está disponível na instância e deve ser usado para gerenciar dependências do projeto.
🛠️ O que é o PM2?
O PM2 é um gerenciador de processos recomendado para Node.js.
Ele mantém a aplicação em execução em segundo plano, faz restart automático, além de permitir monitorar logs e status.
🔄 O que é o Forever?
O Forever é um gerenciador de processos semelhante ao PM2.
Mantém aplicações Node.js ativas, porém é mais simples e menos completo.
📑 O que é o ecosystem.config.js?
É o arquivo de configuração do PM2, onde se define como a aplicação deve ser executada:
- Nome
- Script
- Ambiente
- Quantidade de instâncias
🚫 Por que minha aplicação pode não iniciar corretamente?
Motivos comuns:
- Dependências não instaladas
- Erros de código na aplicação
- Conflitos de porta
A análise dos logs ajuda a identificar a causa.
⚠️ O que fazer quando a aplicação cai inesperadamente?
O PM2 ou Forever reiniciam a aplicação automaticamente.
Se o problema persistir, verifique os logs para identificar a causa.
📡 O que significa o erro EADDRINUSE?
Esse erro indica que a porta configurada já está em uso.
É necessário liberar a porta ou alterar para outra disponível.
📂 O que significa "Cannot find module"?
A aplicação está tentando usar uma biblioteca que não está instalada ou não foi encontrada no diretório node_modules
.
🛑 O que significa o status “errored” no PM2?
Indica que a aplicação falhou ao iniciar ou parou devido a erro inesperado.
Verifique os logs para identificar a causa.
⚙️ O que é clustering no PM2?
É a execução de múltiplas instâncias da aplicação em paralelo, permitindo melhor aproveitamento de CPU e maior capacidade de atender requisições simultâneas.
✍️ O que significa erro de sintaxe (SyntaxError)?
Esse erro ocorre quando há problema na escrita do código JavaScript, como:
- Parênteses não fechados
- Vírgulas faltando
- Uso incorreto de palavras reservadas
📛 O que significa o erro ReferenceError?
Acontece quando você tenta usar uma variável ou função não declarada ou fora de escopo.
Verifique erros de digitação e se a variável está acessível.
🔁 O que significa "RangeError: Maximum call stack size exceeded"?
Este erro indica que uma função foi chamada recursivamente tantas vezes que a pilha de chamadas estourou o limite.
Geralmente causado por loop infinito em função recursiva.
📑 O que significa "TypeError: Cannot read properties of undefined"?
Ocorre quando você tenta acessar algo em uma variável que tem valor undefined.
Exemplo: obj.propriedade
onde obj
é undefined
.