我不确定是否可以做这样的事情。
我有两个 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"
},
只要你在基于 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
(或其他东西)。