【发布时间】:2021-10-18 08:05:16
【问题描述】:
当我在 Visual Studio 上调试 app.js 在测试代码和环境配置文件之前运行时
如何在 app.js 上设置 env?
如果我在终端上部署或测试,我可以在 app.js 上使用 envs 并从日志中检查 env 但不能在调试时。
a.test.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'
},
};
app.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;
}
【问题讨论】:
标签: javascript node.js mocha.js config