我有一个带有快速服务器的 reactjs 应用程序,并且有多个配置文件,如 prep-1、prep-2、... 等。这些配置文件(prep-1、prep-2)具有几乎相同的配置,但端口号发生了变化。例如 prep-1 是 3000,prep-2 是 3005。我在下面的 server.js 中使用这些端口号;
服务器.js
const express = require("express");
const path = require('path');
const PORT = process.env.PORT;
const app = express();
app.use(express.static(path.resolve(__dirname, '../build')));
app.get('*', function(req, res) {
res.sendFile('index.html', {root: path.join(__dirname, '../build/')});
});
app.listen(PORT, () => {
console.log(`Server listening on ${PORT}`);
});
也许将来我会根据配置文件配置文件有不同的环境值。
问题是当我部署项目时,我必须先构建每个环境并部署它们。无论如何构建一次并使用 env-cmd 配置运行?
我现在要做的是;
npm 运行构建:prep-1 npm 运行开始:prep-1
npm 运行构建:prep-2 npm 运行开始:prep-2
包.json
"build:prep-1": "env-cmd -f config/.env.prep-1 react-scripts build",
"start:prep-1": "env-cmd -f config/.env.prep-1 node server/index.js",
"build:prep-2": "env-cmd -f config/.env.prep-2 react-scripts build",
"start:prep-2": "env-cmd -f config/.env.prep-2 node server/index.js",
PS:当我做 npm run build:prep-1 && npm run start:prep-1 && npm run start:prep-2 时不起作用。我认为在构建包时进行了配置。
我想做的是;
npm run build:prep ( i will create another config file named prep but app will use prep-1 or 2 configs.)
npm run start:prep-1
npm run start:prep-2
谢谢