0

我有一个带有快速服务器的 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

谢谢

4

0 回答 0