我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
当前回答
在espackage旁边的主目录中创建一个名为.env的文件。将PORT变量设置为所需的端口号。
例如:
.env
PORT=4200
您可以在这里找到该操作的文档:https://create-react-app.dev/docs/advanced-configuration
其他回答
如果你已经做了npm run eject,去scripts/start.js并在const DEFAULT_PORT = parseInt(process.env. js)中更改port。端口,10)|| 3000;(在本例中为3000)到您想要的任何端口。
这里有另一种方法来完成这项任务。
在项目根目录下创建一个.env文件,并指定端口号。如:
PORT=3005
在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启动应用程序 端口。
你可以在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",
...
}
如果能够指定不是3000的端口(作为命令行参数或环境变量),那就太好了。
现在,这个过程相当复杂:
运行npm Run eject 等待它完成 编辑scripts/start.js,用你想使用的任何端口找到/替换3000 编辑config/webpack.config.dev.js并执行同样的操作 npm开始