gpt4 book ai didi

node.js - 在 Express 中存储环境/配置变量的首选方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:59 24 4
gpt4 key购买 nike

在 Express 应用中处理不同环境配置的最佳方式是什么?

我是否应该将 {development, production, testing}.json 放在/.config 中并根据 process.env.NODE_ENV 加载合适的?像...

var env = process.env.NODE_ENV || 'development';
var config = require('./config/' + env + ".json");

或者有更好的方法吗?

最佳答案

我通常会这样做:

文件结构:

config/
config.js
env/
development.js
test.js
production.js

然后在 config.js 文件中存储通用配置的东西,以及加载相应的环境配置:

// main config.js file

process.env.NODE_ENV = process.env.NODE_ENV || 'development';

// load the config file for the current environment
var config = require('./env/' + process.env.NODE_ENV);

// extend config with universal config data
config.someEnvAgnosticSetting = true;

// export config
module.exports = config;

这使您可以轻松地分离出特定于环境的配置,同时允许任何需要该配置的模块只需要根配置文件。

例如,在您的server.js文件中:

// require config, not worrying about what environment is being loaded
var config = require('./config/config');

// use config data
app.listen(config.port);

编辑:顺便说一句,我没有提出这种方法 - 对于 Node 应用程序(或一般的 Web 应用程序,但碰巧在 Node 中你需要滚动你自己的设置)这是一种非常常见的方法。查看mean.js example app有关使用此模式的更深入示例。

关于node.js - 在 Express 中存储环境/配置变量的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28143020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com