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

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


当前回答

您可以指定一个名为PORT的环境变量来指定服务器将在其上运行的端口。

$ export PORT=3005 #Linux
$ $env:PORT=3005 # Windows - Powershell

其他回答

方法1

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

像这样设置

PORT=3005

方法2

在package.json

set PORT=3006 && react-scripts start

在你的包裹里。在脚本中使用——port 4000或set port =4000,如下例所示:

包中。json (Windows):

"scripts": {
    "start": "set PORT=4000 && react-scripts start"
}

包中。json (Ubuntu):

"scripts": {
    "start": "export PORT=4000 && react-scripts start"
}

如果你已经做了npm run eject,去scripts/start.js并在const DEFAULT_PORT = parseInt(process.env. js)中更改port。端口,10)|| 3000;(在本例中为3000)到您想要的任何端口。

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

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

set PORT=4200 && react-scripts start