1
resposta

TypeError: Cannot read property 'foto' of undefined - o erro continuar não sei mais o que fazer

meus arquis estão assim

foto.js

module.exports = function(app) {

        // jogando para uma variável para deixar mais claro
    var api = app.api.foto;

    app.get('/v1/fotos', api.lista);
};

grupo.js

module.exports = function(app){

    var api = app.api.grupo;

    app.get('/v1/grupos', api.lista);
};

express,js

const consign = require('consign');

app.use(express.static('./public'));

require('../app/routes/foto')(app);
require('../app/routes/grupo')(app); 

consign({cwd: 'app'})
    .include('api')
    .then('routes')
    .into(app);

module.exports = app;

==============

Erro

TypeError: Cannot read property 'foto' of undefined

1 resposta

Bom dia.

Você mudou a estrutura do projeto? Se mudou precisa dar uma checada geral.

Sua mensagem de erro não foi clara, você omitiu a linha e não colocou um contexto. Porém, olhando seu código chuto que é nessa linha:

var api = app.api.foto;

Parece que o arquivo foto.js carregado pelo consign não foi encontrado ou esta em um diretório que não refleteapp.api.foto, por isso ele não é encontrado.

Não entendi a razão desta linha:

require('../app/routes/foto')(app);
require('../app/routes/grupo')(app);

Você já esta usando o consign para carregar as rotas.