4
respostas

[Dúvida] problemas com o servidor.

Erro no servidor após atualizar o index.js , mensagem no terminal : [nodemon] app crashed - waiting for file changes before starting...

const express = require('express'); const pessoas = require('./pessoasRoute.js'); const categorias = require('./categoriasRoute.js'); const cursos = require('./cursosRoute.js');

module.exports = app => { app.use( express.json(), pessoas, categorias, cursos ); };

4 respostas

Oi José,

O erro [nodemon] app crashed - waiting for file changes before starting... indica que seu aplicativo Node.js está falhando ao iniciar. Isso geralmente acontece devido a um erro de sintaxe ou lógica no código, que impede o servidor de subir corretamente. 😜

Analisando o seu index.js, o problema está na forma como você está exportando e usando o app. O module.exports deve exportar uma função que recebe o app como parâmetro, mas você está exportando uma função que recebe o app e o usa diretamente. O correto seria exportar uma função que recebe o app e o configura, e não usá-lo diretamente.

Correção:

const express = require('express');
const pessoas = require('./pessoasRoute.js');
const categorias = require('./categoriasRoute.js');
const cursos = require('./cursosRoute.js');

const app = express();

app.use(express.json());
app.use(pessoas);
app.use(categorias);
app.use(cursos);

module.exports = app;

Explicação:

  1. Criação do app: Primeiro, criamos uma instância do express() para o nosso aplicativo.
  2. Configuração do app: Em seguida, configuramos o app com os middlewares necessários (express.json()) e as rotas (pessoas, categorias, cursos).
  3. Exportação do app: Finalmente, exportamos o app configurado para que ele possa ser usado no arquivo principal do seu projeto (geralmente server.js ou index.js na raiz).

No seu arquivo principal (ex: server.js):

const app = require('./index.js');
const port = 3000;

app.listen(port, () => {
  console.log(`Servidor rodando na porta ${port}`);
});

Para saber mais: Documentação do Express sobre roteamento

Com essa correção, seu servidor deve iniciar sem problemas. 🤔 Continue praticando e explorando as funcionalidades do Node.js! 🧐

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓

implementei o código acima e persiste o mesmo erro, talvez seja algum problema de logica mesmo, pois se for só com 'Pessoas' o servidor responde normal. Obrigado pelo empenho Insira aqui a descrição dessa imagem para ajudar na acessibilidade

José, dá uma olhada se no teu src/app.js, está com o router(app), ao invés do app.use(router):

const express = require('express') ; const app = express() ; const router = require('./routes')

router(app)

module.exports = app ;

Se não for isso, tenta utilizar o bodyParser.json() ao invés do express.json() no app.use do src/routes/index.js

obrigado, deu certo