如何让npm start启动React项目时默认打开Chrome而非Firefox?
解决Windows 11下React项目启动默认打开Chrome的问题
方法1:使用Windows兼容的命令修改package.json
Windows命令行设置环境变量需用set语法,直接修改package.json的start脚本:
"start": "set BROWSER=chrome && react-scripts start"
如果Chrome是自定义安装路径,直接指定exe绝对路径(注意用双引号包裹,反斜杠转义):
"start": "set BROWSER=\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" && react-scripts start"
(路径根据你的实际安装位置调整)
方法2:用.env文件配合原生react-scripts
无需额外安装工具,react-scripts本身支持读取根目录的.env文件:
- 在项目根目录创建
.env文件,添加:
BROWSER=chrome
或指定绝对路径:
BROWSER="C:\Program Files\Google\Chrome\Application\chrome.exe"
- 恢复package.json的start脚本为默认:
"start": "react-scripts start"
修改.env后必须重启终端,再执行npm start,否则环境变量不生效。
方法3:重写React启动配置(终极方案)
如果前两种方法无效,可通过react-app-rewired修改devServer配置:
- 安装依赖:
npm install react-app-rewired --save-dev
- 在项目根目录创建
config-overrides.js,写入:
module.exports = function override(config, env) { config.devServer.open = { app: { name: 'chrome', }, }; return config; };
- 修改package.json的scripts:
"start": "react-app-rewired start"
注意事项
- 若使用Chrome Beta/Dev版本,需对应调整路径,比如
C:\Program Files\Google\Chrome Beta\Application\chrome.exe - 修改配置后必须关闭当前npm进程,重新执行
npm start,避免缓存干扰 - 可先卸载之前安装的cross-env、env-cmd等工具,避免冲突:
npm uninstall cross-env env-cmd
内容的提问来源于stack exchange,提问作者srijan gyawali
相关产品推荐
相关产品推荐

