首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Ignite 新建项目时 CNG 与 manual 工作流怎么选?
📅 2026/9/13 21:13:24
✍️ 爱科研究院
👁 阅读 3,247
Ignite 新建项目时 CNG 与 manual 工作流怎么选【免费下载链接】igniteInfinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite用 Ignite CLI 执行npx ignite-cli new创建新应用时CLI 会询问 How do you want to manage Native code?你打算如何管理原生代码并在cng和manual两种工作流中二选一。这个选择决定了原生工程Android 的 Gradle 工程、iOS 的 CocoaPods/Xcode 工程由谁维护CNG 模式下由 Expo Prebuild 随时重新生成manual 模式下由你自己提交并直接修改。本文基于仓库文档给出两种工作流的判断依据、对应的new命令写法以及项目创建后如何验证选对了工作流。适用前提你已经按 React Native 官方文档完成环境配置参见 QuickStart 第 0 节可以运行npx ignite-cli new。两种工作流各自的定位CNG 文档 的说法是当你的应用需要原生平台代码集成时推荐在 Ignite 中使用 Expo CNG 工作流。CNG以及底层的 Expo Prebuild对绝大多数应用都适用是 Expo Go 与 manualdo it yourself工作流之间的一个折中。它给出的理由有三点你不必直接处理 Gradle 和 CocoaPods升级会容易得多因为你不需要绕开自己定制过的原生代码很多流行库都有现成的 config plugins也可以自行编写自定义 config plugins。manual 文档标题为 Manual Workflow说明如果你不想用 Expo CNG可以通过 manual 工作流--workflow manual自己管理原生代码。文档还指出一个实现细节manual 项目底层仍然是 CNG 工作流——Ignite 会为你生成原生ios和android文件夹然后你再也不跑 CNG而是直接定制这些原生工程。关于适用人群文档写得很直接We generally dont recommend it. Its mostly available for developers who are not interested in using Expo CNG / Prebuild and would rather maintain their own native code directly.也就是说官方默认推荐 CNGmanual 主要面向不愿使用 Expo CNG / Prebuild、愿意直接维护原生代码的开发者。用 new 命令指定工作流new命令支持--workflow参数取值为cng或manual用于项目初始化见 Ignite-CLI.md 中 New 命令的 Options 一节。不传该参数时会进入交互式提示默认选中的是cng选项描述为cng— Via Expos Continuous Native Generation - Recommended [Default]manual— Manual - commits android/ios directories两种主路径命令如下把PizzaApp替换成你的项目名即可# CNG 工作流推荐默认值 npx ignite-cli new PizzaApp --workflow cng --yes # manual 工作流 npx ignite-cli new PizzaApp --workflow manual --yes--yes表示接受其余所有交互提示的默认值bundle identifier、目标路径、git 初始化、是否安装依赖等如果第一次使用 Ignite提示词建议保留 demo 代码。选择 manual 后CLI 在创建过程中会额外做一件事把.gitignore里的/android和/ios两行删除这样生成的原生目录会作为代码提交进仓库与提示选项中 commits android/ios directories 的描述一致见 new 命令实现。CNG 项目则不会做这个处理原生目录保持被 git 忽略的状态。另外new命令还有一个--experimental参数例如--experimentalexpo-router用于把基础项目转换为 Expo Router文档明确标注A CNG workflow is require for these flags即这类实验特性只允许在--workflowcng下启用。如果你计划在新项目里使用 Expo Router这一条会直接影响工作流选择应选 CNG。创建后如何验证项目生成完成后在项目目录内检查以下三点就能确认工作流与你的选择一致目录内容manual 项目根目录下有已生成、可编辑的android/和ios/原生工程目录CNG 项目没有这两个目录。.gitignoremanual 项目的.gitignore中不含/android和/ios这两行已被 CLI 移除CNG 项目仍包含这两行。运行应用两种工作流都按 QuickStart 的方式启动命令按你机器上可用的平台选择iOS 构建只能在 macOS 上执行Android 可以在任意操作系统上开发cd PizzaApp pnpm run android # 或 pnpm run ios构建需要几分钟取决于你的机器硬件。应用能正常跑起来即说明该工作流下项目可用。new命令结束时还会在终端打印 For next time, here are the Ignite options you picked:并给出本次使用的完整命令行包含--workflow值。记下这行输出以后重建或迁移项目时可以复用同样的选项。什么时候必须选 manual结合仓库文档选择依据可以归纳为你的应用只是常规的 React Native Expo 生态库集成希望升级 SDK 时少碰原生代码选 CNG。这正是 CNG 文档列出升级容易得多的原因。你不想使用 Expo CNG / Prebuild希望直接维护、提交原生代码选 manual并且默认推荐不选它——这是官方文档的立场而不是本文的个人偏好。你计划启用--experimental类特性如expo-router只能用 CNGmanual 无法启用这些标志。文档没有给出两者之间的性能数据或基准对比选择上不存在哪个更快的量化依据差异集中在原生代码由谁生成、由谁维护这一点上。限制与后续CNG 项目的原生目录不参与版本控制任何原生定制都应通过 Expo 的 Config Plugins 完成Ignite 模板本身已包含一个针对 Android 12 上expo-splash-screenbug 修复的 Config Plugin见 Expo and Ignite。manual 项目创建之后不再运行 Prebuildandroid/与ios/目录的升级需要你自己处理。发布环节与工作流无关Ignite 统一使用 EAS Build 产出 AAB/IPA 二进制项目自带 eas.json 配置具体构建方式见 EAS 文档。【免费下载链接】igniteInfinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting.项目地址: https://gitcode.com/GitHub_Trending/ig/ignite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/13 21:13:24
大模型幻觉现象解析与工程实践解决方案
2026/9/13 21:13:24
C++编译时常量与运行时常量详解与应用
2026/9/13 21:13:24
Navicat安装失败原因与官方合规解决方案
2026/9/13 21:53:28
[点赞收藏免费领取 · 项目源码]蔬菜大棚农业资源管理系统-计算机课设毕设源码82981
2026/9/13 21:53:28
Zulip AppVeyor Webhook 集成:将 Windows CI 构建通知接入 Zulip 的完整指南
2026/9/13 21:53:28
Cilium 手动删除 IPCache 映射:cilium-dbg bpf ipcache delete 从排查到执行的完整 SOP
2026/9/13 21:53:28
MySQL高频命令实战手册:从基础操作到备份恢复的完整指南
2026/9/13 21:53:28
CRAG方案:解决RAG系统中Embedding相似度虚高问题
2026/9/13 21:48:27
Element Plus 开发调试时如何用 pnpm link 链接本地构建的依赖?
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化