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

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


当前回答

在你的包裹里。在脚本中使用——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"
}

其他回答

总之,我们有三种方法来实现这一目标:

设置名为“PORT”的环境变量 修改package.json中“scripts”部分的“start”键 创建一个.env文件,并将PORT配置放在其中

最可移植的方法是最后一种方法。但正如其他帖子所提到的,将.env添加到.gitignore中,以避免将配置上传到公共源存储库。

更多细节:这篇文章

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

set PORT=4200 && react-scripts start

在espackage旁边的主目录中创建一个名为.env的文件。将PORT变量设置为所需的端口号。

例如:

.env

PORT=4200

您可以在这里找到该操作的文档:https://create-react-app.dev/docs/advanced-configuration

只需运行下面的命令

PORT=3001 npm start

为什么不干脆

PORT=3030 npm run start