1
resposta

Duvida sobre a aula

No meio da aula, o instrutor realiza um

node api/index.js

para testar se a api está funcionando. De fato tudo ocorre como o planejado quando eu faço a mesma coisa, porém quando eu tento acessar primeiro a pasta api para depois iniciar o index.js

cd api
node index.js

Recebo o seguinte erro:

WARNING: No configurations found in configuration directory:C:\Users\eduar\Desktop\api-petshop\api\config WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment. C:\Users\eduar\Desktop\api-petshop\node_modules\config\lib\config.js:182 throw new Error('Configuration property "' + property + '" is not defined');

Error: Configuration property "api.porta" is not defined at Config.get (C:\Users\eduar\Desktop\api-petshop\node_modules\config\lib\config.js:182:11) at Object. (C:\Users\eduar\Desktop\api-petshop\api\index.js:17:19) at Module.compile (internal/modules/cjs/loader.js:1176:30) at Object.Module.extensions..js (internal/modules/cjs/loader.js:1196:10) at Module.load (internal/modules/cjs/loader.js:1040:32) at Function.Module.load (internal/modules/cjs/loader.js:929:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/runmain.js:71:12) at internal/main/run_main_module.js:17:47

Alguém sabe me dizer o motivo de funcionar apenas com o node api/index.js?

1 resposta

Oi Eduardo!

Espero que você esteja bem.

Então, isso acontece porque o pacote config que usamos, busca pelo arquivo config/default.json a partir da pasta que o comando do Node é executado.

Por isso que quando você acessa a pasta api e executa o comando node index.js, o pacote vai procurar pelo arquivo config/default.json dentro da pasta api.

Se você definir a variável SUPPRESS_NO_CONFIG_WARNING antes do comando do Node, esse aviso não vai mais aparecer - porém o arquivo de configuração não será detectado, e sua API não conseguirá obter os dados para conectar com o banco.

Você pode também fornecer o caminho direto para a pasta onde os arquivos de configuração estão, pela variável de ambiente NODE_CONFIG_DIR, exemplo:

NODE_CONFIG_DIR="../config" node index.js