5
respostas

Estou recebendo o erro abaixo e a minha maior dificuldade é depurar, apesar dos meus arquivos estarem aparentemente iguais aos do curso, nos arquivos do curso não ocorre o erro, somente no meu projeto. Obrigado...

TypeError: app.persistencia.PagamentoDao is not a constructor at /Users/crmoreira/Google Drive/Alura/payfast/controllers/pagamentos.js:30:24 at Layer.handle [as handle_request] (/Users/crmoreira/Google Drive/Alura/payfast/node_modules/express/lib/router/layer.js:95:5) at next (/Users/crmoreira/Google

5 respostas

Você usou o module.exports no PagamentoDao?

Poste o código de PagamentoDao para melhor averiguação.

function PagamentoDao(connection) { this._connection = connection; }

PagamentoDao.prototype.salva = function(pagamento,callback) { this._connection.query('INSERT INTO pagamentos SET ?', pagamento, callback); }

PagamentoDao.prototype.lista = function(callback) { this._connection.query('select * from pagamentos',callback); }

PagamentoDao.prototype.buscaPorId = function (id,callback) { this._connection.query("select * from pagamentos where id = ?",[id],callback); }

module.exports = function(){ return PagamentoDao; };

Carlos, a princípio parece que o seu código está certo. Eu coloquei o meu projeto no GitHub, pois estou na mesma parte que você. O meu não deu nenhum erro. Faça as verificações para ver onde você errou.

NodeJS-REST

Carlos, conseguiu descobrir o erro?

Sabe que não, a única forma de resolver, depois de verificar arquivo a arquivo, foi copiando os arquivos do projeto do curso sobre o meu projeto. Engraçado que depois que estava tudo funcionando eu resolvi refazer tudo no WebStorm, dai encontrei exatamente o mesmo problema. Fico preocupado com a dificuldade em depurar o defeito, como seria isso em um projeto maior? Agradeço pela ajuda.