如何在 CRA 中禁用打开的浏览器?

我已经使用 create-react-app创建了一个 React 应用程序,但是每当我启动开发服务器(使用 npm start)时,它都会打开我的浏览器。我想让它不会在我启动开发服务器时打开我的浏览器。

我该怎么做呢?

37103 次浏览

BROWSER=none添加到 package.json文件中的 npm 启动脚本,如下所示:

"scripts": {
"start": "BROWSER=none react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},

查看 CRA 文档了解更多配置和环境变量选项:

Https://create-react-app.dev/docs/advanced-configuration/


更新/故障排除:

如果出现 'BROWSER' is not recognized as an internal or external command, operable program or batch file错误,请执行 cross-env的 npm 安装:

npm install --save cross-env

然后,将 cross-env BROWSER=none添加到 start脚本中

"start": "cross-env BROWSER=none react-scripts start",

package.json文件所在的根目录中创建 .env文件,并添加以下内容:

BROWSER=none

现在运行 npm start

我建议在命令级别执行此操作,这样就不必更改提交的任何文件。

BROWSER=none npm start

您可以为您的 shell 配置添加一个别名:

alias myapp-start='cd /path/to/myapp && BROWSER=none npm start'

对于 Windows,你可以像下面这样在 package.json中编辑/创建一个脚本:

"start": "set BROWSER=none && react-scripts start"

对于基于 Linux的操作系统,只需删除“ set”和“ & &”即可:

"start": "BROWSER=none react-scripts start"

If you have InteliJ IDEA you can also on the top right menu click your npm start and Edit Configurations, then in the Environment write:

BROWSER=none

当然,只有在 package.json 中单击它至少一次,它才会出现在那里。