Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 是否有任何包或流程来定义所需的环境变量_Node.js - Fatal编程技术网

Node.js 是否有任何包或流程来定义所需的环境变量

Node.js 是否有任何包或流程来定义所需的环境变量,node.js,Node.js,我在我的项目中使用.env文件,并将process.env.VARIABLE_名称点缀在该位置。出于显而易见的原因,My.env文件没有包含在我的git repo中。唯一的问题是,查看回购协议的人不清楚预期的环境变量 这个问题有没有我不知道的简单的预先制定的解决方案?其他人如何处理这个问题 可能会创建一个environment.js文件来导出所有process.env变量,这样所有变量都可以放在一个地方。该库通过将基于环境和主机名的配置与自定义环境变量覆盖/添加(都在一个文件中定义)相结合,很好

我在我的项目中使用.env文件,并将process.env.VARIABLE_名称点缀在该位置。出于显而易见的原因,My.env文件没有包含在我的git repo中。唯一的问题是,查看回购协议的人不清楚预期的环境变量

这个问题有没有我不知道的简单的预先制定的解决方案?其他人如何处理这个问题

可能会创建一个environment.js文件来导出所有process.env变量,这样所有变量都可以放在一个地方。

该库通过将基于环境和主机名的配置与自定义环境变量覆盖/添加(都在一个文件中定义)相结合,很好地处理了这一问题。这类似于您在一个地方重新导出所有环境变量的想法,但也允许与非机密的配置值组合

这是一个如何工作的示例:

default.js:

const { name, version } = require('../package.json')
module.exports = {
  name,
  version,
  logLevel: 'debug',
}
custom-environment-variables.js:

module.exports = {
  logLevel: 'LOG_LEVEL',
}
production.js:

module.exports = {
  logLevel: 'info',
}
因此,默认情况下,
config.get('logLevel')
将返回debug,如果NODE_ENV=production,则返回info,如果定义了,则返回process.ENV.LOG_LEVEL;而
名称
版本
在所有环境中都是相同的