meanjs为数据库设置进程evn的最佳实践

时间:2017-02-22 03:31:40

标签: heroku meanjs mlab

在我试图获得一个'hello world'使用meanjs.org产品的技巧,我克隆了0.4.2并设置了一个mongolab帐户。

我打开了> config> env> development.js,设置db URL,我有这个:

  db: {
uri: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean-dev',

对于试用版,我只是使用来自mongolab的网址替换了process.env.MONGOLAB_URI,并且确实有效,但我怀疑这是要走的路。我在那里看到一个Procfile,可能是我应该指定process.env.MONGOLAB_URI吗?在哪里我可以指定它,所以如果我将它上传到Heroku,比如说,它会设置process.env.MONGOLAB_URI,这里不需要编辑吗?

P.S。我用Google搜索并搜索了SOF

2 个答案:

答案 0 :(得分:0)

只是一个小小的进步, 我得到了我的gulpfile.js并设置了一个任务:

gulp.task('setmydb', function () {
process.env.MONGOLAB_URI = 
'mongodb://mylogin:mypassword@ds157479.mlab.com:57479/meantst1';
});

然后在文件末尾添加到任务序列中:

// Run the project in development mode
gulp.task('default', function (done) {
runSequence('env:dev', 'lint', ['setmydb','nodemon', 'watch'], done);
});

它确实有效,但我仍然不确定这是否确实如此!所以请帮助我确定。

答案 1 :(得分:0)

以防万一其他人也需要,这就是我解决问题的方法: Setting configuration variables | Heroku

我首先关注Heroku getting started并在那里编辑了他们的应用程序,添加了这个根:

app.get('/envtst', function(request, response) {
var xterm = process.env.XVAR ==='yes' ? 'yes' : 'no';
response.send(xterm);
});

然后将应用程序推送到Heroku,并通过命令行设置我的测试变量XVAR:

heroku config:set XVAR=yes

最后,在浏览器中打开root并验证。