我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
我的项目是基于创建-反应-应用程序。NPM启动或yarn启动默认将在端口3000上运行应用程序,在package.json中没有指定端口的选项。
在这种情况下,如何指定自己选择的端口?我想同时运行这个项目的两个(用于测试),一个在端口3005,另一个是3006
当前回答
对于windows,使用cmd
set PORT=3001 && npm start
其他回答
您可以在启动应用程序时找到默认端口配置
yourapp/scripts/start.js
向下滚动并将端口更改为您想要的任何端口
const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 4000;
希望这对你有所帮助;)
编辑webpack.config.js并添加你想要在其上运行的端口。这就是你要找的东西:
’devServer: 港口:3005。 historyApiFallback: true, ),
and
输出:{ publicPath:“http://localhost: 3005 /”, },
编辑您的项目/包。json文件。
进入脚本部分。将开始键对应的值更新为以下内容。
"start": "export PORT=4000;react-scripts开始”
现在你的React应用程序将在http://localhost:4000/上运行
注意:您可以使用任何端口号,但最好避免众所周知的端口号,如22,21,80等。
在我的例子中,我的react项目有两个文件:.env和.env.development。
我把这个添加到.env.development中,让它与npm start命令一起工作,用于开发:
PORT=3001
如果不想设置环境变量,另一个选项是修改包的脚本部分。json:
"start": "react-scripts start"
to
Linux(在Ubuntu 14.04/16.04上测试)和MacOS(在MacOS Sierra 10.12.4上由aswin-s测试):
"start": "PORT=3006 react-scripts start"
或者(可能)IsaacPak的更通用的解决方案
"start": "export PORT=3006 react-scripts start"
Windows JacobEnsor的解决方案
"start": "set PORT=3006 && react-scripts start"
跨环境图书馆在任何地方都有效。详见Aguinaldo Possatto的回答
更新是因为我的回答很受欢迎:目前我更喜欢使用保存在.env文件中的环境变量(以方便和可读的形式存储不同部署配置的变量集很有用)。别忘了加上*。如果你仍然将秘密存储在。Env文件中,Env转换为。gitignore。下面是为什么在大多数情况下使用环境变量更好的解释。以下是为什么在环境中存储秘密是一个坏主意的解释。