node.js - 如何根据环境配置express js应用程序?比如开发、登台和制作?

标签 node.js express environment-variables

我是expressjs应用程序开发的新手,现在需要根据环境配置应用程序。遇到了“node-env-file”、“cross-env”。但几乎听不懂任何东西。请建议如何根据环境设置环境变量或一些好的文档建议? 根据环境,我想加载我的配置文件。到目前为止,我有两个配置文件,一个用于开发,一个用于生产。

最佳答案

这个想法是将NODE_ENV设置为环境变量,以确定给定环境是生产还是登台还是开发。代码库将基于此设置的变量运行。

该变量需要在.bash_profile中设置

$ echo export NODE_ENV=production >> ~/.bash_profile
$ source ~/.bash_profile

有关更多信息,请查看 Running Express.js in Production Mode

我关注Ghost.org (Node.js 产品)应用程序的模型。

完成后,您可以在相应的 json 文件中获取环境详细信息,例如 config.development.jsonconfig.development.json

接下来,您需要根据环境加载其中一个文件。

var  env = process.env.NODE_ENV || 'development';
var Nconf = require('nconf'),
nconf = new Nconf.Provider(),
nconf.file('ghost3', __dirname + '/env/config.' + env + '.json');

有关 Ghost 如何执行此操作的更多信息,请查看 config/index.js

关于node.js - 如何根据环境配置express js应用程序?比如开发、登台和制作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294419/

相关文章:

node.js - 断言流

node.js - 如何使用路径创建套接字连接

json - Node.js 中的 json 输入意外结束

javascript - Express.js 路由没有意义

bash - 尝试将 bash 变量从 .sh 文件导出到运行它的另一个文件

node.js - 正确使用 nano.auth

node.js - 在 elasticbeanstalk 中设置 NODE_ENV 变量

node.js - 在expressjs中显示一个简单的图像

c - GSL 和环境变量

bash - 变量中的环境变量