2012-10-03 59 views
3

我已經嘗試使用:針對node.js的config.yaml中的Heroku環境變量的語法?

db: 
    uri: process.env.MONGOLAB_URI 

,但似乎並不奏效。 (編輯:其實,這只是返回的「process.env.MONGOLAB_URI」的字符串)我也試過:

<%= ENV['MONGOLAB_URI'] %> 

,但我看到的文章,有關YAML在Ruby應用程序的文章(可現在找不到鏈接)。

什麼是正確的語法?

回答

-1

我相信config.yaml的例子是針對特定的Ruby驅動程序的。對於Node.js,您希望使用任何您認爲最方便的配置方法將URI(在process.env.MONGOLAB_URI中)提供給您選擇的節點驅動程序。

如果你想用Node MongoDB Native driver例如,你可能會做這樣的事情:

var mongodb = require('mongodb'); 
mongodb.Db.connect(process.env.MONGOLAB_URI, function (err, db) { 
    // Do something cool with the db 
}); 
+0

權,並把'process.env時的作品。 MONGOLAB_URI'在node.js代碼中,但是應該使用什麼語法將它放在'config.yaml'中? – Miles

+0

如果你指的是[MongoLab插件幫助](https://devcenter.heroku.com/articles/mongolab)中記錄的YAML文件配置技術,那麼正如我提到的那樣是針對特定的Ruby驅動程序,並且不會不適用於Node.js.您是否想要從代碼中實現配置的外部化,並且可能會使用正在使用的環境? – jared

+0

我想我不清楚。我知道我在問題中使用的語法之一是ruby,而不是node.js,這就是爲什麼我在問題中說的。我也明白,我可以通過在node.js代碼中使用'process.env.MONGOLAB_URI'來訪問javascript代碼中的mongolab_uri環境變量。問題是,當使用yaml文件進行應用程序配置時,不能單獨使用'process.env.MONGOLAB_UI',因爲yaml只會返回該字符串,而不會將該字符串評估爲javascript代碼。告訴yaml它應該將字符串評估爲javscript的語法是什麼? – Miles