Professor, eu sei que o problema deve ser um pequeno detalhe, mas estou perdendo muito tempo nele. Eu criei o projeto com a mesma estrutura de diretórios e baixei o autoload, porém não está querendo executar pois ele diz que app.infra.connectionFactory está undefined.
Segue código:
app.js
var app = require('./config/express')();
const HOST = 'http://localhost:';
const PORT = '3000';
app.listen(PORT, function() {
    console.log('Server listening on ' + HOST + PORT + ' ...');
});config/express.js
// Require ExpressJS
var express = require('express');
// Express Autoload
var load = require('express-load');
module.exports = function() {
    // App
    var app = express();
    // Set view engine
    app.set('view engine', 'ejs');
    // Set views path
    app.set('views', './app/views');
    // Set autoload
    load('routes', {cwd: 'app'})
        .then('infra')
        .into(app);
    return app;
};app/infra/connectionFactory.js
var mysql = require('mysql');
function createConnection() {
    return mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: 'keymaster312',
        database: 'dbAlura'
    });
}
module.exports = function() {
    return createConnection;
};app/routes/produto.routes.js
module.exports = function(app) {
    // Objeto de conexão com a base de dados
    var conn = app.infra.connectionFactory();
    // Rota para listagem de produtos
    app.get('/produtos/lista', function(req, res) {
        // Executando consulta
        conn.query('select * from produtos', function(err, results) {
            res.render('produtos/lista', {
                lista : results
            });
        }).end();
    });
}ERRO:
C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\app\routes\produto.routes.js:8
    var conn = app.infra.connectionFactory();
                         ^
TypeError: Cannot read property 'connectionFactory' of undefined
    at Object.module.exports (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\app\routes\produto.routes.js:8:26)
    at C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\node_modules\express-load\lib\express-load.js:241:19
    at iterate (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\node_modules\async\lib\async.js:131:13)
    at Object.async.eachSeries (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\node_modules\async\lib\async.js:147:9)
    at ExpressLoad.into (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\node_modules\express-load\lib\express-load.js:224:9)
    at module.exports (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\config\express.js:21:10)
    at Object.<anonymous> (C:\Users\brunocarneiro\Documents\desenvolvimento\estudo\back-end\nodejs\alura\app.js:1:100)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)Será que eu estou perdendo algum detalhe? Pode me ajudar?
Obrigado!
 
             
            