1
resposta

Definição do diretório de trabalho atual (current working directoty CWD) no consign!

Pelo o que eu entendi, a definição do current working directoty (CWD) no consign é apenas para evitarmos a repetição do nome do diretório "app" no acesso direto das nossas APIs (app.api.foto e app.api.grupo).

Porém, acredito que essa repetição é causada devido termos utilizado o mesmo nome (app ) para o diretório de nossas APIs (alurapic/app/api ) e para a instância do nosso servidor (module.exports = app;).

Se não definirmos o CWD no consign, a repetição do nome "app" pode ser evitada alterando o nome/estrutura do nosso diretório? Exemplo: de alurapic/app/ para alurapic/aplic.

O acesso direto da nossa API em alurapic/aplic/routes/fotos.js ficaria dessa maneira:

module.exports = function(app) {
    var api = app.aplic.api.foto;
    app.get('/v1/fotos', api.lista);
};

E a instância do meu servidor continuaria como app no express.js:

var express = require('express');
 var consign = require('consign');
 var app = express();

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

 consign()
     .include('aplic/api')
     .then('aplic/routes')
     .into(app);

 module.exports = app;
1 resposta

Fala aí Joaquim, tudo bem? Bom, vamos lá:

O cwd é usado para dizermos ao consign á partir de onde ele deve procurar nossas passadas informadas no include e then's, ou seja:

app
   |---api
           |---models
           |---controllers
           |---routes
   |---consign.js

Dessa maneira, podemos configurar:

consign({ cwd: './api' })
    .include('models')
    .then('controllers')
    .then('routes')
    .into(app)

Porém, se tirarmos a declaração do cwd:

consign()
    .include('models')
    .then('controllers')
    .then('routes')
    .into(app)

Ele irá tentar procurar nossas pastas á partir de onde está o arquivo de configuração, no caso, ele iria procurar as pastas models, controllers e routes na pasta app.

Espero ter ajudado, bons estudos.