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

How to disable open browser in CRA?

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

我怎样才能做到这一点?

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/


Update/Troubleshooting:

如果您遇到 '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,您可以 edit/create package.json 中的脚本,例如:

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

对于基于Linux的OS,只需删除“set”和“&&”即可:

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