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

GSP*_* KS 43 configuration reactjs create-react-app

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

我怎样才能做到这一点?

小智 81

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

BROWSER=none
Run Code Online (Sandbox Code Playgroud)

现在运行npm start

希望能帮助到你 :)

  • 如果您使用的是 **Windows**,请转到 `packaga.json` 文件并在 `"scripts": {` 之后将 `"start": "react-scripts start",` 替换为 `"start": "env BROWSER =无反应脚本启动”,` (5认同)
  • @JeffreyDrake 它已记录在[此处](https://create-react-app.dev/docs/advanced-configuration/)。 (2认同)

Bas*_*sem 28

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

"scripts": {
  "start": "BROWSER=none react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
},
Run Code Online (Sandbox Code Playgroud)

查看 CRA 文档以获取更多配置和环境变量选项:

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


更新/故障排除:

如果您遇到'BROWSER' is not recognized as an internal or external command, operable program or batch file错误:请执行 npm install cross-env

"scripts": {
  "start": "BROWSER=none react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
},
Run Code Online (Sandbox Code Playgroud)

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

"start": "cross-env BROWSER=none react-scripts start",
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了一下,抛出了一个错误:“‘浏览器’未被识别为内部或外部命令、可操作程序或批处理文件”。 (2认同)
  • 如果您不想全局安装 `cross-env`,只需将 `cross-env` 添加到您的 devDependency 并使用 `"start": "npx cross-env Browser=..."` (2认同)

小智 19

对于Windows,package.json您可以像这样编辑/创建脚本。&& 之前不能有空格:

"start": "set BROWSER=none&& react-scripts start"
Run Code Online (Sandbox Code Playgroud)

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

"start": "BROWSER=none react-scripts start"
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用“cross-env”以相同的方式定义这些脚本 (2认同)

Ben*_*kin 9

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

BROWSER=none npm start
Run Code Online (Sandbox Code Playgroud)

您可以将其别名添加到 shell 的配置中:

alias myapp-start='cd /path/to/myapp && BROWSER=none npm start'
Run Code Online (Sandbox Code Playgroud)