【问题标题】:how to configure express js application according to environment? like development, staging and production?如何根据环境配置 express js 应用程序?像开发,分期和生产?
【发布时间】:2017-05-08 17:52:25
【问题描述】:

我是 expressjs 应用程序开发的新手,现在需要根据环境配置应用程序。遇到'node-env-file','cross-env'。但几乎什么都不懂。请建议如何根据环境设置环境变量或一些好的文档建议? 根据环境,我想加载我的配置文件。截至目前,我有两个配置文件,一个用于开发,一个用于生产。

【问题讨论】:

    标签: node.js express environment-variables


    【解决方案1】:

    思路是将NODE_ENV设置为环境变量,判断给定环境是production还是staging还是development。代码库将基于此设置变量运行。

    变量需要设置在.bash_profile

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

    欲了解更多,请查看Running Express.js in Production Mode

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

    完成后,您可以在各个 json 文件中获取环境详细信息,例如 config.production.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

    【讨论】:

    • 哦,是的,它帮助了我。抱歉回复晚了。
    【解决方案2】:

    我使用带有 env vars 的 .env 文件:

    VAR=VALUE
    

    在运行 express 之前使用source 命令阅读

    $ source .env
    $ node app.js
    

    然后,要访问 express 内部,您可以使用:

    var temp = process.env.VAR; //contains VALUE
    

    您可以使用 dotenv 模块,自动加载 .env 文件

    【讨论】:

      猜你喜欢
      • 2019-03-17
      • 2015-02-20
      • 2016-05-06
      • 2015-12-07
      • 1970-01-01
      • 2016-02-27
      • 2022-01-22
      • 2011-08-06
      • 2013-07-14
      相关资源
      最近更新 更多