Estou tendo problemas com o seguinte código:
module.exports = function(app){
var connection = app.infra.connectionFactory();
app.get('/produtos', function(req, res){
connection.query('SELECT * FROM produtos', function(erro, result){
res.render('produtos/lista',{ lista : result });
});
connection.end();
});
}
que aparece o seguinte erro quando executado no terminal:
/home/kabum/my/alura/node-js/casaDoCodigo/app/routes/produtos.js:2
var connection = app.infra.connectionFactory();
^
TypeError: Cannot read property 'connectionFactory' of undefined
at Object.module.exports (/home/kabum/my/alura/node-js/casaDoCodigo/app/routes/produtos.js:2:29)
at /home/kabum/my/alura/node-js/casaDoCodigo/node_modules/express-load/lib/express-load.js:247:19
at iterate (/home/kabum/my/alura/node-js/casaDoCodigo/node_modules/async/lib/async.js:131:13)
at Object.async.eachSeries (/home/kabum/my/alura/node-js/casaDoCodigo/node_modules/async/lib/async.js:147:9)
at ExpressLoad.into (/home/kabum/my/alura/node-js/casaDoCodigo/node_modules/express-load/lib/express-load.js:230:9)
at module.exports (/home/kabum/my/alura/node-js/casaDoCodigo/config/express.js:11:6)
at Object.<anonymous> (/home/kabum/my/alura/node-js/casaDoCodigo/app.js:1:100)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
as pastas estão nomeadas certo, não estou entendendo o erro.
os outros códigos:
// connectionFactory.js
var mysql = require('mysql');
function createDbConnection() {
return mysql.createConnection({
host : 'localhost',
user : 'root',
password: '%BeE$&7a',
database: 'casadocodigo_nodejs'
});
}
module.exports = function(){
return createDbConnection();
}
// app.js
var app = require('./config/express')();
app.listen(3000, function(){
console.log("estou rodando.");
});
// 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;
};
// package.json
{
"name": "casadocodigo",
"version": "1.0.0",
"description": "site da casa do codigo.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "carlos roberto",
"license": "ISC",
"dependencies": {
"ejs": "^2.5.6",
"express": "^4.15.3",
"express-load": "^1.1.15",
"mysql": "^2.13.0"
}
}
// produtos.js
// Foi o primeiro código que mostrei.