我的项目是基于创建-反应-应用程序。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
其他回答
方法1
在项目的根目录下创建.env文件
像这样设置
PORT=3005
方法2
在package.json
set PORT=3006 && react-scripts start
在我的包里换衣服。“export PORT=3001 && react-scripts start”也适用于我,我在macOS 10.13.4上
如果能够指定不是3000的端口(作为命令行参数或环境变量),那就太好了。
现在,这个过程相当复杂:
运行npm Run eject 等待它完成 编辑scripts/start.js,用你想使用的任何端口找到/替换3000 编辑config/webpack.config.dev.js并执行同样的操作 npm开始
在Windows上的Powershell中(以管理员身份运行):
(cd到你的CRA应用程序根文件夹)
env:港= 3002元;npm起飞
在调用命令时给出端口号,而不需要更改应用程序代码或环境文件中的任何内容,怎么样?这样就可以从几个不同的端口运行和服务相同的代码库。
如:
$ export PORT=4000 && npm start
您可以用您喜欢的端口号来代替上面的示例值4000。
您可以在包中使用相同的表达式。Json脚本。
如:
"start": "export PORT=4000 response -scripts start"
但对于后者,您将需要更改包。但是,对于前者,除了从命令行调用的端口值外,您不会更改任何内容。