Expo CLI 实战:五条命令跑通 React Native 跨平台开发
【免费下载链接】expoAn open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.项目地址: https://gitcode.com/GitHub_Trending/ex/expo
新建的项目里敲下npx expo start,终端跳出一个二维码,你却不知道下一步按什么键、开哪个页面——这就是 Expo CLI(Expo 框架的命令行界面)里最常见的卡点。它是整套 React Native 开发流程的入口,装依赖、起开发服务器、跑真机、生成原生工程,基本不用离开终端。
🔍 装之前先体检:两条命令确认环境没问题
这节解决"为什么我的环境跑不起来"。别急着建项目,先确认 Node 版本达标(当前版本 CLI 要求 Node 22.13 及以上),再用 doctor 扫一遍依赖配置:
npx expo-doctor这条命令会逐项检查项目配置、依赖版本和工作目录状态,有问题会在输出里逐条列出,没有则打印"All checks passed"。注意老版 CLI 里的expo doctor已从本地命令迁移为独立的expo-doctor包,直接敲旧命令只会看到一条迁移提示。Expo CLI 本身建议用npx expo按需调用,不必全局安装,避免不同项目踩到版本漂移。
🚀 第一次跑起来:3 条命令从空项目到手机屏幕
这节解决"最小路径"问题:建项目、起服务、上设备,全程不超过 3 条命令。
npx create-expo-app my-app它会交互式让你选模板(默认、TypeScript、Tab 导航等),完成后当前目录多出一个my-app。
cd my-app && npx expo start终端会打印局域网地址和一个二维码,用 Expo Go 扫码即可在真机上跑起来;本地代码一有改动,App 会自动热重载。服务跑起来后,终端底部会提示一组快捷键:
r:重载 Appa:装到 Android 模拟器/设备i:装到 iOS 模拟器w:同时起 Web 端d:打开开发者菜单
想直接在浏览器里验证 UI,加一个参数即可:
npx expo start --web跑通后浏览器会打开本地服务页面,看到 Expo 的欢迎页就说明 React Native 开发服务器已正常工作:
📅 日常开发循环:一天里真正会敲的命令
这节按一天的节奏串命令,而不是逐条罗列。早上接手项目,装个相机和定位库,用install而不是npm i,它会按当前 SDK 自动挑兼容版本,省掉查版本的功夫:
npx expo install expo-camera expo-location输出会显示每个包匹配到的具体版本号,装完package.json已同步更新。下午改完代码想验真机效果,run系列命令会直接编译原生代码并推送到设备,比模拟器启动快很多:
npx expo run:android npx expo run:iosAndroid 端会走 Gradle 构建后安装,iOS 端会走 Xcode 编译后启动,首次较慢、后续增量构建很快。中途发现配置不对(比如 scheme、权限声明丢了),不用猜,直接打印合并后的生效配置:
npx expo config输出是一整段 JSON,即app.json与所有插件叠加后的最终结果,排查"我以为我配了但没生效"的问题看它就行。要发版前出包,用export生成优化后的 JavaScript 包,加-p指定平台(平台参数细节以npx expo export --help输出为准):
npx expo export -p android完成后项目下会多出一个dist目录,里面是压过、可分发的静态资源。
🛠️ 要碰原生代码时:prebuild 生成原生工程 + 插件改配置
这节解决"必须动原生,但不想手写整个工程"的问题。prebuild会根据配置重新生成完整的android和ios目录,之后你在这个目录里改代码、再跑run:android/run:ios,原生工程从此可版本化维护:
npx expo prebuild --platform android只加--platform可以只生成单端;不加则两端都生成。如果只是想改权限文案、App 图标这类配置,不必进原生目录,在app.json里加一段插件配置再重新 prebuild 即可:
{ "expo": { "plugins": [ ["expo-camera", { "cameraPermission": "允许应用访问相机拍照" }] ] } }改完重跑一次npx expo prebuild,新配置就会落到原生工程里。
排错不用单独记章节,遇到下表里的症状直接对号入座:
| 症状 | 命令 | 说明 |
|---|---|---|
| 8081 端口被占,start 起不来 | npx expo start --port 19001 | 换个端口,参数细节以--help为准 |
| 依赖版本与 SDK 不匹配 | npx expo install <包名> | 自动对齐当前 SDK 的兼容版本 |
| 构建报错找不到原因 | npx expo-doctor | 逐项输出环境检查与修复建议 |
| 某条命令的参数记不清 | npx expo <命令> --help | 以本机版本的 help 输出为准 |
Expo CLI 把 React Native 跨平台开发里最琐碎的环节收进了终端,命令虽多,真正常用的就是这一小撮。想深入某个环节,可以顺手翻一下官方文档:docs/pages/eas/,命令实现细节则在 packages/@expo/cli/ 里。
【免费下载链接】expoAn open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.项目地址: https://gitcode.com/GitHub_Trending/ex/expo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考