Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que eu consigo ter acesso ao 'marko' dentro de rotas.js se estou exportando apenas o express?

No arquivo custom-express.js eu exporto o express:

require('marko/node-require').install();
require('marko/express');
const express = require('express');
const app = express();

const routes = require('../app/routes/routes');
routes(app);

module.exports = app;

Mas no arquivo routes.js eu consigo ter acesso ao marko:

module.exports = (app) => {
   app.get('/livros', (req, resp) => {
        resp.marko(template)
    });
}

Por que isso acontece sem erros?

1 resposta
solução!

Olá Jeremias, tudo bem? Peço desculpas pela demora em ti responder! Bem isso acontece porque quando colocamos as duas linhas:

require('marko/node-require').install();
require('marko/express');

Logo no início do arquivo custom-express.js isso significa que esses arquivos são lidos e executados primeiro antes de executar o restante do código, e também na linha:

routes(app);

Estamos executando o arquivo rotas.js passando a variável app que já tem o express e tudo que foi chamado antes dele, que é no caso o marko.

Espero ter esclarecido sua dúvida!