2. 开工
新建项目
可参考官网 Set up your environment,其一开始就给出一些选择菜单,让你根据情况配置,我们课程的情况较为接近iOS Simulator/Android Emulator + Development build(没错,那个Expo Go真没啥意思)的情况。 但课程中更多的是我个人真实操作经历总结。
官网介绍非常详细的,重复的我这里就只简单提一下; 注意工具按上述原则使用,比如npm改成pnpm。
取名字
这个步骤有时候是最费时间的,同时中英文名都想好才开工就太不适合学习了。 所以你就简单取一个MyTestApp这样的即可,中间不要有空格。
新建命令
官网是:
npx create-expo-app@latest
我们用:
# 最简单, 0配置
pnpm dlx create-expo-app@latest
或者
# 想极致省盘, 需自己处理 Metro 缓存 symlink 警告
pnpm create expo-app@latest
| 命令 | 特点 | 推荐用法 |
|---|---|---|
pnpm create expo-app@latest | pnpm 内置 create 命令,底层用 dlx 实现,简单快捷 | 新建项目常用,方便 |
pnpm dlx create-expo-app@latest | 手动使用 dlx 临时执行,不会依赖缓存 | 想确保绝对最新版本,或者不想依赖 pnpm create 封装时用 |
| 另外关于pnpm的省盘问题: |
| 命令 | 空间占用特点 | 适用场景 |
|---|---|---|
pnpm create expo-app@latest | 更省空间,复用本地缓存 | 日常新建项目,推荐 |
pnpm dlx create-expo-app@latest | 每次下载最新,可能有额外临时缓存 | 想保证绝对最新,或者测试不同版本 |
继续按照官网教程进行
-
注册Expo官网账号,登录进去,知道环境变量Environment variables页面在哪里;
-
回到本机,安装Xcode和一个最新的Simulator模拟器(我写的时候是iPhone 17);
包名 Bundle Name
取名字往往是最费脑的,但一旦定下来(英文名)后,包名就很简单,不重复就好。 形式上的反向域名com.your-company.app-name,确定后就到AppStore和GooglePlay注册。 方法上网查看,我这里不再赘述。
然后修改app.json(ios.bundleIdentifier, android.package)或者执行pnpm expo prebuild按提示输入即可。
注意和app.json中expo.name(新建app时输入的名称)不是一个概念,当然最好都有关联和一致性,都在取好名字后再操作。
EAS
EAS CLI 用于登录你的 Expo 账号,并通过不同的 EAS 服务(如 Build、Update 或 Submit)来编译你的应用。
你还可以使用该工具来:
-
将你的应用发布到应用商店
-
创建应用的开发版、预览版或生产版构建
-
创建 OTA(Over-the-Air,即空中更新)更新
-
管理你的应用凭证
-
为 iOS 设备创建 ad hoc 配置文件
要使用 EAS CLI,你需要在本地机器上全局安装它。
安装EAS CLI
pnpm install -g eas-cli
继续
-
回到项目中,安装EAS CLI并执行eas login看看刚才注册的Expo账号是否生效;
-
执行
eas build:configure简单生成eas.json; -
开发构建
eas build --platform ios --profile development,
在 EAS 云端**(Linux→macOS 远程机)打包,生成 .ipa 开发版安装包。
结果:一个可扫码安装到真机的开发包,本地 Xcode 不必打开。
我的个人实际开发中很少用到,下面分析一下。
这个命令和expo run:ios的区别:
expo run:ios 用的是本地 Xcode 构建 ;
eas build --platform ios --profile development 用的是云端构建 + 真机调试能力;
其实前者就是不需要 Xcode,没有mac的人也可以开发iOS程序了。
如果你是单兵开发,天天动不动改代码跑模拟器,那还是 run:ios 舒服
但是只要你想把 APP 安装到别人手机上 → EAS development build 绝对省心
- 启动
pnpm expo start其实我更多直接用expo run:ios/android啥的,相当于同时prebuild了。
模拟器打开
一开始的新鲜项目,没啥必须原生支持的库,就用Expo Go这个工具调试也行。
执行pnpm expo start后,可以选择不同模拟器查看。
iOS
按i
Android
按 a
提示安装或升级Expo Go的话就Y一下。
关于其中的一些快捷键,expo官网查。