gpt4 book ai didi

node.js - 根据环境覆盖 express/node 应用程序的 config.js 变量

转载 作者:搜寻专家 更新时间:2023-11-01 00:26:27 27 4
gpt4 key购买 nike

我有一个配置了所有变量设置的 config.js。

我想创建一个 config.global.js 并让 config.production.js 覆盖其中的一些并让 config.development.js 覆盖其中的一些。

这是一个示例 config.development.js:

var config = {};    

config.env = 'development';
config.hostname = 'example.dev';
config.appname = 'Example.com';
config.site_url = 'http://example.dev:8080';

module.exports = config;

我想我可以在 config.development.js(和 config.production.js)中这样做来覆盖:

var config = require('config.global.js');

config.env = 'development';
config.hostname = 'example.dev';
config.appname = 'Example.com';
config.site_url = 'http://example.dev:8080';

module.exports = config;

然后在 app.js 中,我可以这样做:

var cfg = require('config.' + ( process.ENV.APP_ENV || 'development' ) + '.js');
app.set('domain', cfg.hostname);

还有哪些其他方法可以定义应用程序配置变量?

最佳答案

为什么不使用一个包含所有环境设置的 JSON 文件。当您引入更多环境时,您的方法可能无法很好地扩展。您可以通过查找 NODE_ENV 属性并使用它从您的环境中选择一组属性来获得正确的属性集。

我前段时间在 Bootstraping a Node.js App for Dev/Prod Environment 中写过关于它的博客.专门阅读“在测试期间模拟生产环境”以获取如何执行此操作的示例。

关于node.js - 根据环境覆盖 express/node 应用程序的 config.js 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742692/

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