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

Erro ao utilizar o express-load

Boa tarde, antes de comecar a usar o express-load minha consulta estava funcionando perfeitamente, na verdade coloquei o expresse-load e ainda ficou funcionando uma parte do codigo, mas quando tento usar a connection recebendo app.infra.connectionFactory(); ele da o seguinte erro:

TypeError: /Users/user/Documents/JavaScript/node/casadocodigo/app/views/produtos/lista.ejs:16 14|

preco 15|

16| <% for(var i = 0; i < lista.length; i++) {%> 17|

18| <%=lista[i].id%> 19| <%=lista[i].titulo%>

Cannot read property 'length' of undefined at eval (eval at compile (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/ejs/lib/ejs.js:524:12), :11:32) at returnedFn (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/ejs/lib/ejs.js:555:17) at tryHandleCache (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/ejs/lib/ejs.js:203:34) at View.exports.renderFile [as engine] (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/ejs/lib/ejs.js:412:10) at View.render (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/express/lib/view.js:128:8) at tryRender (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/express/lib/application.js:640:10) at EventEmitter.render (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/express/lib/application.js:592:3) at ServerResponse.render (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/express/lib/response.js:971:7) at Query._callback (/Users/user/Documents/JavaScript/node/casadocodigo/app/routes/produtos.js:7:17) at Query.Sequence.end (/Users/user/Documents/JavaScript/node/casadocodigo/node_modules/mysql/lib/protocol/sequences/Sequence.js:88:24)

meu produto.js:

module.exports = function(app) { app.get("/produtos",function(req, res) {

var connection = app.infra.connectionFactory();

connection.query('select * from produtos', function(err, results){ res.render('produtos/lista', {lista: results}); });

connection.end();

}); } connectionFactory.js: var mysql = require('mysql');

function createDBConnection(){ return mysql.createConnection({ host: 'localhost', user: 'root', password: 'toor', database: 'casadocodigo' }); }

module.exports = function() { return createDBConnection; } express.js: var express = require('express'); var load = require('express-load');

module.exports = function() {

var app = express(); app.set('view engine', 'ejs'); app.set('views','./app/views');

load('routes',{cwd: 'app'}) .then('infra') .into(app);

return app;

} app.js: var app = require('./config/express')();

app.listen(3000, function () { console.log("servidor rodando na porta 3000"); });

lista.ejs: <!DOCTYPE html>

idnomedescricaopreco
<% for(var i = 0; i < lista.length; i++) {%> <%=lista[i].id%><%=lista[i].titulo%><%=lista[i].descricao%><%=lista[i].preco%> <%} %>
2 respostas

Consegui resolver o erro!

solução!

Legal !!!

O que precisar pode abrir um novo tópico :D