Cuando depuro en Visual Studio app.js se ejecuta antes de los códigos de prueba y los archivos de configuración env
¿Cómo configurar env en app.js?
Si implemento o pruebo en la terminal, puedo usar envs en app.js y verificar env desde el registro, pero no en la depuración.
a.prueba.js
const { describe, it } = require('mocha'); const request = require('supertest'); const { expect } = require('chai'); const { setConfig } = require('../../../setConfig'); const { app } = require('../../../../app'); setConfig(); describe('transactionController', () => { it('test', async () => { await request(app) .post(`/`) .set('Accept', 'application/json') .type('application/json') .send() .expect(200); });setConfig.js
const { config } = require('../config/config'); module.exports.setConfig = () => { console.log(`setConfig : ${JSON.stringify(config.debug)}`); const { debug } = config; const { NODE_ENV, CACHE_HOST, CACHE_PORT } = debug; process.env.NODE_ENV = NODE_ENV; process.env.CACHE_HOST = CACHE_HOST; process.env.CACHE_PORT = CACHE_PORT; };config.js
module.exports.config = { debug: { NODE_ENV: 'debug', CACHE_HOST: '127.0.0.1', CACHE_PORT: '6379' }, };aplicación.js
const serverless = require('serverless-http'); const express = require('express'); const app = express(); app.set('port', 3000); console.log(`app : env : ${process.env.NODE_ENV}`); if (process.env.NODE_ENV === 'prod' || process.env.NODE_ENV === 'dev') { app.listen(app.get('port'), () => { console.log(`Server running on ${app.get('port')} port`); }); module.exports.app = serverless(app); } else { module.exports.app = app; }En su launch.json (el archivo donde configuró su depurador) puede agregar esto a la configuración:
"env": { "NODE_ENV": "debug", "CACHE_HOST": "127.0.0.1", "CACHE_PORT": "6379" }Agregará todas las variables env que desee cuando inicie el depurador