【问题标题】:meanjs best practice to setup process evn for databasemeanjs 为数据库设置进程环境的最佳实践
【发布时间】:2017-07-11 22:53:02
【问题描述】:

在尝试使用 meanjs.org 产品获得“hello world”技能时,我克隆了 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 的 URL 替换了 process.env.MONGOLAB_URI 并且一切正常,但我怀疑这是要走的路。我在那里看到一个 Procfile,可能我应该在那里指定 process.env.MONGOLAB_URI 吗?我可以在哪里指定它,这样如果我将它上传到 Heroku,比如说,它将设置 process.env.MONGOLAB_URI 并且这里不需要编辑?

附言我用谷歌搜索了 SOF

【问题讨论】:

    标签: heroku meanjs mlab


    【解决方案1】:

    只是一个小小的进步, 我得到了我的 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);
    });
    

    它工作得很好,但我仍然不确定这是否真的必须这样做!所以请帮我确定一下。

    【讨论】:

      【解决方案2】:

      以防万一其他人也需要,这就是我解决问题的方法: 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并验证。

      【讨论】:

        猜你喜欢
        • 2019-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2023-03-16
        相关资源
        最近更新 更多