一个服务器中的多个 NODE_ENV

问题描述 投票:0回答:1

我不确定是否可以做这样的事情。

我有两个 Reactjs 项目 p1 和 p2。对于服务器,我使用的是 Loopback3 和 MongoDB。两个项目都将连接到一台服务器。

我想要的是在一台服务器上创建多个主机数据库,所以如果我登录到 p1 项目,它将使用 p1 数据库。如果我登录到 p2 项目,它将使用 p2 数据库。

每个p1和p2都有自己的开发和生产环境

我有 NODE_ENV 来检查 p1,我可以将开发和生产分开。我使用相同的方法创建 datesource.p2.json 和 server.p2.js,但我无法更改 NODE_ENV 以使用 p2 数据库。

这里是package.json中的脚本

  "scripts": {
    "heroku-prebuild": "npm install",
    "start-P2": "node ./server/server.p2.js",
    "start": "node ./server/server.p1.js",
    "posttest": "npm run lint && nsp check",
    "devserver": "nodemon ./server/server.js"
  },
node.js reactjs mongodb loopbackjs
1个回答
0
投票

只要你在基于 unix 的系统上,你就可以在你的脚本中做这样的事情:

"scripts": {
    ...
    "start-P2": "env_name=p2 node ./server/server.p2.js",
    "start": "env_name=p1 node ./server/server.p1.js",
    ...
  },

其中

env_name
是您将用于检测要连接到哪个环境的环境变量的名称。然后在您的代码中检查该变量是否等于
p1
p2
(或其他东西)。

© www.soinside.com 2019 - 2024. All rights reserved.