【问题标题】:How to set proccess.env in Node express app on heroku如何在 Heroku 上的 Node express 应用程序中设置 process.env
【发布时间】:2013-03-20 01:41:41
【问题描述】:

我有一个带有 mongo(通过 mongojs)应用程序的简单节点,该应用程序在本地开发并部署在 heroku 上。在我的开发环境中,我想使用 mongo 的本地实例,而在生产中,我想使用 heroku 通过“process.env.MONGOLAB_URI”提供给我的实例。

我目前的方法是我会根据环境变量设置 datavase url,但是我如何实际上进入生产模式?此外,我该如何配置它,以便当我在本地机器上开发它的开发模式时,当我上传到 heroku 它的生产模式时?

app.configure('production', function(){
  // ...
  databaseUrl = "mydb"; // the default
});

app.configure('development', function(){
  // ...
  databaseUrl = process.env.MONGOLAB_URI;
});

db = require("mongojs").connect(databaseUrl);

【问题讨论】:

标签: node.js mongodb express


【解决方案1】:

在本地环境中将 NODE_ENV 环境变量设置为“开发”,在 Heroku 上将其设置为“生产”。 https://devcenter.heroku.com/articles/nodejs#setting-node-env

【讨论】:

  • 这让我卡了很长时间。在 heroku 上设置 NODE_ENV:heroku config:set NODE_ENV="production"
【解决方案2】:

您还可以通过添加以下内容来启动您的应用,从而在本地访问您的在线数据库:

var mongoose = require( 'mongoose' );
var dbURI = 'mongodb://localhost/Loc8r';
if (process.env.NODE_ENV === 'production') {
    dbURI= process.env.MONGOLAB_URI;
}
mongoose.connect(dbURI);

并使用“NODE_ENV=production nodemon bin/www”启动您的应用

【讨论】:

    猜你喜欢
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2017-03-05
    • 2016-11-07
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多