我有两个dotenv文件,一个用于开发,另一个用于测试。

const dotenv = require('dotenv');

if (process.env && process.env.NODE_ENV) {
  dotenv.config({path: '.env.' + process.env.NODE_ENV});
} else {
  dotenv.config({path: '.env.development'});
}

const http = require('http');
const app = require('../src/app');

const port = parseInt(process.env.PORT, 10) || 8000;
app.set('port', port);

const server = http.createServer(app);
server.listen(port);

这是我的问题:

在我的情况下,服务器何时加载dotenv文件?如果我在test env中运行,为什么对于那些process.env变量我未定义?
在我看来,该文件仅运行一次,当我更改NODE_ENV时,它不会更改要加载的文件。

简而言之:

我的开发dotenv正常工作,但是将其更改为test dotenv时遇到了麻烦

最佳答案



dotenv documentation

关于node.js - Node dotenv文件未为测试环境加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47520869/

10-11 08:29