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

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


当前回答

在Windows上的Powershell中(以管理员身份运行):

(cd到你的CRA应用程序根文件夹)

env:港= 3002元;npm起飞

其他回答

您可以在启动应用程序时找到默认端口配置

yourapp/scripts/start.js

向下滚动并将端口更改为您想要的任何端口

const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 4000;

希望这对你有所帮助;)

如果能够指定不是3000的端口(作为命令行参数或环境变量),那就太好了。

现在,这个过程相当复杂:

运行npm Run eject 等待它完成 编辑scripts/start.js,用你想使用的任何端口找到/替换3000 编辑config/webpack.config.dev.js并执行同样的操作 npm开始

你可以在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",
      ...
}

这里有另一种方法来完成这项任务。

在项目根目录下创建一个.env文件,并指定端口号。如:

PORT=3005

在我的包里换衣服。“export PORT=3001 && react-scripts start”也适用于我,我在macOS 10.13.4上