Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Mensagem de erro ao fim da aula livroDao

Olá Após a aula sobre o Método Dao, segundo vídeo da aula 3, aparece a seguinte mensagem após chamar http://localhost:3000/livros no console:

PS C:\NodeJS\CasaDoCodigo> npm start

> casadocodigo@1.0.0 start C:\NodeJS\CasaDoCodigo
> nodemon server.js --ignore *.marko.js

[nodemon] 1.18.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
Servidor rodando na porta 3000
Usuario:
{ id: 1,
  nome_completo: 'Gabriel Leite',
  email: 'gabriel@alura.com.br',
  senha: '123' }
C:\NodeJS\CasaDoCodigo\node_modules\sqlite3\lib\trace.js:27
                    throw err;
                    ^

ReferenceError: resp is not defined
    at C:\NodeJS\CasaDoCodigo\scr\app\rotas\rotas.js:13:13
    at Statement._db.all (C:\NodeJS\CasaDoCodigo\scr\app\infra\livro-dao.js:11:17)
--> in Database#all('SELECT * FROM livros', [Function])
    at LivroDao.lista (C:\NodeJS\CasaDoCodigo\scr\app\infra\livro-dao.js:8:18)
    at C:\NodeJS\CasaDoCodigo\scr\app\rotas\rotas.js:11:18
    at Layer.handle [as handle_request] (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\layer.js:95:5)
    at C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\index.js:335:12)
    at next (C:\NodeJS\CasaDoCodigo\node_modules\express\lib\router\index.js:275:10)
[nodemon] app crashed - waiting for file changes before starting...
5 respostas

Oi Sanderson tudo bem?

Poderia colocar a pasta do seu projeto no github, por gentileza, para podermos analisar.

solução!

Bom dia, Sanderson! Como vai?

A mensagem de erro está dizendo que vc está utilizando um tal de resp na linha 13 do rotas.js, mas esse cara não existe!

Dá uma olhada nessa linha do arquivo e vc deve encontrar o problema! Caso não encontre, cole o código desse arquivo aqui para que a gente possa dar uma olhada!

Espero que esteja curtindo e aproveitando ao máximo todo o conteúdo do curso!

Grande abraço e bons estudos, meu aluno!

André, salvei o projeto no git: https://github.com/limasq/curso-nodejs

Gabriel, onde tu leu isso? Segue abaixo o código da página rotas.js:

const LivroDao = require('../infra/livro-dao');
const db = require('../../config/database');

module.exports = (app) => {
    app.get('/', function(requisicao, resposta) {
        resposta.send('<html><head><meta charset="utf-8"><title>HTML Tutorial</title></head><body><h1>Casa do Código</h1></body></html>');
    });

    app.get('/livros', function(requisicao, resposta) {
        const livroDao = new LivroDao(db);

        livroDao.lista(function(erro, resultados) {

            resp.marko(
                require('../views/livros/lista/lista.marko'),
                {
                    livros: resultados
                }

            );
        });


        // db.all('SELECT * FROM livros', function(erro, resultados) {

        //     resposta.marko(
        //         require('../views/livros/lista/lista.marko'),
        //         {
        //             livros: resultados
        //         }
        //     );            

        // });


    });
};

Rrsrsrs... Gabriel, tu estavas certo. Somente após salvar o código no fórum que vi onde estava o erro! Problema resolvido!

Opa, meu aluno!

Sobre onde eu vi que o problema era na linha 13 do rotas.js, dá uma olhada nas duas últimas linhas dessa parte do log de erro que vc postou!

PS C:\NodeJS\CasaDoCodigo> npm start

> casadocodigo@1.0.0 start C:\NodeJS\CasaDoCodigo
> nodemon server.js --ignore *.marko.js

[nodemon] 1.18.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
Servidor rodando na porta 3000
Usuario:
{ id: 1,
  nome_completo: 'Gabriel Leite',
  email: 'gabriel@alura.com.br',
  senha: '123' }
C:\NodeJS\CasaDoCodigo\node_modules\sqlite3\lib\trace.js:27
                    throw err;
                    ^

ReferenceError: resp is not defined
    at C:\NodeJS\CasaDoCodigo\scr\app\rotas\rotas.js:13:13

Veja que o log diz que o resp não está definido e ainda informa o arquivo e a linha!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!