我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
当前回答
编辑您的项目/包。json文件。
进入脚本部分。将开始键对应的值更新为以下内容。
"start": "export PORT=4000;react-scripts开始”
现在你的React应用程序将在http://localhost:4000/上运行
注意:您可以使用任何端口号,但最好避免众所周知的端口号,如22,21,80等。
其他回答
这里有另一种方法来完成这项任务。
在项目根目录下创建一个.env文件,并指定端口号。如:
PORT=3005
你可以使用cross-env来设置端口,它可以在Windows、Linux和Mac上工作。
yarn add -D cross-env
然后是包装。Json的开始链接可以是这样的:
"start": "cross-env PORT=3006 react-scripts start",
你可以在package.json中修改你的脚本:
- MacOs:
"scripts": {
"start": "PORT=9002 react-scripts start",
"build": "react-scripts build",
...
}
在窗户
"scripts": {
"start": "set PORT=9002 && react-scripts start",
"build": "react-scripts build",
...
}
为什么不干脆
PORT=3030 npm run start
在调用命令时给出端口号,而不需要更改应用程序代码或环境文件中的任何内容,怎么样?这样就可以从几个不同的端口运行和服务相同的代码库。
如:
$ export PORT=4000 && npm start
您可以用您喜欢的端口号来代替上面的示例值4000。
您可以在包中使用相同的表达式。Json脚本。
如:
"start": "export PORT=4000 response -scripts start"
但对于后者,您将需要更改包。但是,对于前者,除了从命令行调用的端口值外,您不会更改任何内容。