我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。

在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006


当前回答

很多答案都没有提到windows的一个关键部分。对我来说,在windows中的指定端口运行react应用程序的工作是使用以下命令。您可以从下面的示例更改端口号。别忘了用&&。

set PORT=4200 && react-scripts start

其他回答

方法1

在项目的根目录下创建.env文件

像这样设置

PORT=3005

方法2

在package.json

set PORT=3006 && react-scripts start

我只是在项目的根目录中创建了.env,并更改PORT=3001

如果你在Dockerfile中运行npm start,你不能在docker运行中映射端口,比如做一些类似-p 3001:3000的事情,这是有效的:

FROM node

ENV PORT=3001

# whatever here, COPY .. etc.

CMD npm start

或者你可以在docker build中传递端口号作为参数:

FROM node

ARG PORT=${PORT}
ENV PORT=${PORT}

# whatever here, COPY .. etc.

CMD npm start

在docker build中使用——build-arg

docker build --build-arg PORT=3001 .

在Windows中可以通过两种方式实现。

在“\node_modules\react-scripts\scripts\start.js”下搜索 “DEFAULT_PORT”并添加所需的端口号。 例如:const DEFAULT_PORT = parseInt(process.env. port = parseInt)端口,10)|| 9999; 在包中。Json,追加下面的行。 "start": "set PORT=9999 && response -scripts start" 然后使用NPM start启动应用程序。它将在9999启动应用程序 端口。

编辑webpack.config.js并添加你想要在其上运行的端口。这就是你要找的东西:

’devServer: 港口:3005。 historyApiFallback: true, ),

and

输出:{ publicPath:“http://localhost: 3005 /”, },