我的项目基于create-react-app。npm start或yarn start默认情况下,将在 端口3000 上运行该应用程序,并且在package.json中没有指定端口的选项。
npm start
yarn start
在这种情况下,如何指定自己选择的端口?我想同时运行此项目的两个(用于测试),一个在端口3005,另一个在3006
3005
3006
如果您不想设置环境变量,则另一个选择是从以下位置修改scriptspackage.json 的一部分:
scripts
"start": "react-scripts start"
至
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"
cross-env lib 随处可见。
由于我的答案的流行而进行更新: 当前,我更喜欢使用.env文件中保存的环境变量(用于以deploy方便易读的形式存储用于不同配置的变量集)。不要忘记添加*.env到.gitignore如果你还在存储你的秘密.env文件。这是为什么在大多数情况下使用环境变量更好的解释。这是为什么在环境中存储秘密不是一个好主意的解释。
.env
deploy
*.env
.gitignore