【问题标题】:Using Meteor's settings.json to connect to local MongoDB使用 Meteor 的 settings.json 连接本地 MongoDB
【发布时间】:2020-04-25 16:36:37
【问题描述】:

我将 Meteor 应用程序中的一些管理/管理功能拆分为另一个新功能,以减少客户端应用程序的大小/帮助限制访问。我还在 localhost 和生产环境中分别安装了 MongoDB。

我已经能够在单独的端口上运行每个应用程序,并在启动应用程序时连接到传递环境变量的数据库:

# App 1
MONGO_URL=mongodb://localhost:27107/appDB meteor 
# App 2
MONGO_URL=mongodb://localhost:27107/appDB meteor --port 4000

当然,我想在项目根目录中使用 settings.json 来传递这些变量,而不是必须指定它们(这里是 App 2 的 settings.json):

{
    "env": {
        "PORT": 4000,
        "MONGO_URL": "mongodb://localhost:27017/appDB"
    }
}

并使用meteor run --settings settings.json 传递这些变量。但是,Meteor 无法识别设置文件。有什么我可能出错的想法吗?

更新 1: @Apendua 很友好地让我知道 settings.json 根本不支持这种行为。改为设置 bash 别名。

更新 2: @AshHimself 指出 Galaxy 可以以这种方式识别环境变量,但 core Meteor docs 并不清楚这是否适用于本地环境。

【问题讨论】:

  • 据我所知,目前无法在settings.json 中设置端口和MONGO_URL。使用环境变量是目前唯一的选择。
  • 啊,好的。所以我想我最好为命令设置一些 bash 别名,然后提供环境。变量作为我的部署过程的一部分?
  • 看起来很合理...
  • 太好了——我会根据需要更新问题,并且可能会提出功能请求或其他内容。谢谢@apendua!
  • 来自 Google 的用户。您现在可以执行此操作。 galaxy-guide.meteor.com/deploy-guide.html

标签: mongodb meteor


【解决方案1】:

我使用本地 MongoDB 和 bash 脚本运行 Meteor 应用程序。

转到您的 Meteor 项目目录并将其写入您的命令行 (BASH):

echo 'MONGO_URL=mongodb://localhost:27017/meteorprojectname meteor run' > run.sh

更改脚本的权限,这样您就可以在不使用 sudo 的情况下运行它:

sudo chmod 777 run.sh

现在您可以使用命令运行您的项目:

./run.sh

更多信息:http://meteor.hromnik.com/blog/meteor-run-without-creating-local-mongo-database

【讨论】:

  • 有没有办法在不编辑run.sh 文件的情况下轻松更改Meteor 端口号?我经常在不同的端口上同时运行几个流星副本。 ./run.sh --port 4000 不起作用。
【解决方案2】:

这对我很有效。我要做的唯一更改只是添加执行权限,并且我将 .sh 从文件名中删除。

echo 'MONGO_URL=mongodb://localhost:27017/meteorprojectname meteor run' > run
sudo chmod +x run
./run

【讨论】:

    【解决方案3】:

    它不像 shell 脚本那么花哨,但是……这个 liner 别名也可以。

    alias <myapp>="export MONGO_URL=mongodb://<mongohost>:<port>/<database>; meteor run"
    

    当然,括号中的所有内容都可以根据您的喜好进行分类并感到高兴。

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 2014-03-28
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 2023-02-07
      相关资源
      最近更新 更多