Expo 快速上手: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
Expo 是一个开源框架,让你只写一份 React 代码,就得到能同时运行在 Android、iOS 和网页上的原生应用。它面向所有用过或正在学 React 的人,解决的是"三端开发要写三遍代码、原生配置门槛高"的老问题。这个仓库里同时放着 Expo SDK、CLI、路由器和全部模块源码,你既能直接拿它做项目,也能拆开看实现。
三条命令,从零到跑起来
前提是你装好了 Node.js。在终端里执行:
npx create-expo-app my-app这条命令基于官方模板(仓库里的 templates/expo-template-default/)生成一个带完整示例的项目。
cd my-app && npm install装好项目依赖,几秒钟到几分钟取决于网络。
npx expo start启动本地开发服务,终端会列出可选项:Android 模拟器、iOS 模拟器,或者扫码用 Expo Go 真机预览。
两个最常用的场景
场景一:真机即时预览。目标是改完代码马上在手机上看到效果。步骤很简单:手机装一个 Expo Go,用它的相机扫终端二维码即可。结果就是每次保存文件,手机自动刷新出新界面——不用装 Android Studio 或 Xcode,这是 Expo 相比裸 React Native 最省事的体验。
场景二:一份代码上网页。目标是让应用也能在浏览器里打开。启动时加上--web参数:
npx expo start --web浏览器里出现的应用和移动端用的是同一套 React 代码,路由基本不用改。仓库测试项目里的效果长这样:
进阶技巧与容易踩的坑
⚡ 先分清两个版本号。你项目里的expo依赖是 SDK 版本(当前模板里是 57),而react-native是 0.8x 系列,两者完全不是一回事,别照着旧博客里的版本号乱升级。
新项目的页面都放在app目录,走的是 expo-router 的文件式路由——新建一个文件就是一个路由,比手动配导航表直观得多,改目录结构时心里有数。
想改原生代码时,别急着往ios/、android/目录里塞东西,这些目录可以随时由命令重新生成;真正的扩展点写在自定义模块里,可以参考 packages/expo-modules-core/ 的组织方式。如果你的老项目是纯原生工程,看看 packages/expo-brownfield/,它专门处理把 Expo 接进已有原生应用的情况。
还有一点:Expo Go 是个受限沙箱,大部分现成模块能直接跑,但个别需要深度定制的原生能力它跑不了,这时要转成开发构建(development build),具体做法以官方文档为准。
生态与扩展
- Expo Go:预装在手机里的运行容器,扫码就能跑你的项目,源码在 apps/expo-go/。
- expo-router:文件式路由加原生栈导航,新项目默认集成,见 packages/expo-router/。
- EAS:官方托管的构建发布服务,不用自己搭打包机。
- expo-modules-core:写自定义原生模块的底层框架,是 Expo 模块体系的地基。
想系统看 API 和使用教程,仓库里的 docs/ 目录就是官方文档站的源码,guides/ 还有写给贡献者的深入指南,按需取用即可。
【免费下载链接】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),仅供参考