gpt4 book ai didi

node.js - 使用 app.get ('env' 设置特定于环境的配置)

转载 作者:太空宇宙 更新时间:2023-11-03 23:24:47 24 4
gpt4 key购买 nike

我的问题涉及an old answer given on this question但有一个小的修改。

我会尝试尽可能保持简单。

假设我的文件夹结构如下

|-- controllers
|-- File.js
|-- and many more...
|-- routes.js
|-- app.js
|-- config.js
|-- env.json (same as one in the old answer)

相关文件包含

app.js

const routes = require('./routes');

app.set('env', process.env.NODE_ENV || 'production'); // set the environment
app.use('/', routes);

routes.js

const FileController = require('./controllers/File');

let router = require('express').Router();

router.get('/files', FileController.getFiles);

// ...

module.exports = router;

Controller /File.js

const config = require('../config');

exports.getFiles = (req, res, next) => {
// I would like to use the environment-specific (that was set in app.js) config here
console.log(config.facebook_app_id);
};

// ...

config.js

const env = require('env.json');

/*exports.config = function() {
var node_env = process.env.NODE_ENV || 'development';
return env[node_env];
};*/

module.exports = env[app.get('env')]; // this would cause an error as app is not defined

这可能是一个愚蠢的问题,但我如何在 config.js 中使用应用程序设置,即 app.get('env')

最佳答案

一种方法是解析 process.env.NODE_ENV || 'production'在您的配置文件中,然后在实例化应用程序时引用它。另一件需要考虑的事情是使用 process.env.NODE_ENV || 'development'相反,开发人员必须明确表示他们处于生产环境中。您不想意外使用生产环境

const env = require('env.json')
module.exports = env[process.env.NODE_ENV || 'production']

关于node.js - 使用 app.get ('env' 设置特定于环境的配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45639931/

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