首页指南参考教程

Expo DevClient iconExpo DevClient

GitHub

npm

允许创建开发版本并包含有用开发工具的库。

Android
iOS

expo-dev-client 在你的调试版本中添加了各种有用的开发工具:

¥expo-dev-client adds various useful development tools to your debug builds:

  • 一个可配置的启动器 UI,因此你可以启动更新(例如来自 PR 预览)并在开发服务器之间切换,而无需重新编译原生应用

    ¥A configurable launcher UI, so you can launch updates (such as from PR previews) and switch between development servers without needing to recompile the native app

  • 改进的调试工具(例如对 检查网络请求 的支持)

    ¥Improved debugging tools (such as support for inspecting network requests)

  • 强大且可扩展的开发者菜单 UI

    ¥A powerful and extensible developer menu UI

Expo 文档引用了包含 expo-dev-client开发构建 的调试版本。

¥Expo documentation refers to debug builds that include expo-dev-client as development builds.

安装

¥Installation

Terminal
npx expo install expo-dev-client

If you're installing this in a bare React Native app, you should also follow these additional installation instructions.

app.json/app.config.js 中的配置

¥Configuration in app.json/app.config.js

如果你在项目中使用配置插件(EAS 构建npx expo run:[android|ios]),则可以使用其内置的 配置插件 配置开发客户端启动器。该插件允许你配置无法在运行时设置的各种属性,并且需要构建新的应用二进制文件才能生效。

¥You can configure development client launcher using its built-in config plugin if you use config plugins in your project (EAS Build or npx expo run:[android|ios]). The plugin allows you to configure various properties that cannot be set at runtime and require building a new app binary to take effect.

Example app.json with config plugin

app.json
{
  "expo": {
    "plugins": [
      [
        "expo-dev-launcher",
        {
          "launchMode": "most-recent"
        }
      ]
    ]
  }
}

Configurable properties

NameDefaultDescription
launchMode"most-recent"

Determines whether to launch the most recently opened project or navigate to the launcher screen.

  • most-recent - Attempt to launch directly into a previously opened project and if unable to connect, fall back to the launcher screen.
  • launcher - Opens the launcher screen.

API

import * as DevClient from 'expo-dev-client';

Methods

DevClient.closeMenu()

A method that closes development client menu when called.

Returns

  • void

DevClient.hideMenu()

A method that hides development client menu when called.

Returns

  • void

DevClient.isDevelopmentBuild()

A method that returns a boolean to indicate if the current application is a development build.

Returns

  • boolean

DevClient.openMenu()

A method that opens development client menu when called.

Returns

  • void

DevClient.registerDevMenuItems(items)

NameTypeDescription
itemsExpoDevMenuItem[]-

A method that allows to specify custom entries in the development client menu.

Returns

  • Promise<void>

Types

ExpoDevMenuItem

An object representing the custom development client menu entry.

NameTypeDescription
callback() => void

Callback to fire, when user selects an item.

namestring

Name of the entry, will be used as label.

shouldCollapse
(optional)
boolean

A boolean specifying if the menu should close after the user interaction.

Default: false
Expo 中文网 - 粤ICP备13048890号