已执行eject操作的React Native项目是否可以安全删除app.json?
React Native eject后配置文件保留问题解答
核心结论
执行eject操作后的非托管工作流React Native项目,无需强制保留app.json文件,仅需保留package.json即可,是否保留app.json完全取决于你的项目是否有自定义场景依赖它。
两份配置的作用差异
package.json是Node生态标准配置,是所有RN项目的必选文件:包依赖管理、执行脚本、RN核心版本声明等核心能力都依赖该文件,必须全程保留。app.json是Expo/裸RN脚手架在未eject阶段的统一配置入口:eject操作的核心逻辑之一就是把app.json内的版本号、项目名、包名等配置同步写入iOS、Android原生项目的对应配置文件(iOS的Info.plist、Android的AndroidManifest.xml/build.gradle),eject完成后原生RN框架本身不会再读取app.json的任何内容。
重复配置的优化方案
你不需要同时维护两份重复的同源配置,可根据自身需求二选一:
- 直接删除
app.json:所有配置以package.json+原生项目配置文件为准即可,不会影响任何原生RN的正常运行。 - 保留
app.json做单源配置入口:如果希望统一管理多端同源配置,可以自行编写简单的构建脚本,从app.json/package.json中统一读取版本、包名等信息,构建时自动同步到原生配置文件,避免多份配置不一致。
需要保留app.json的特殊场景
仅当你的项目存在以下情况时需要保留app.json:
- 项目内有自研的自动化脚本明确需要读取
app.json内的自定义字段 - 项目引入的第三方RN插件要求必须在
app.json中声明配置项
内容的提问来源于stack exchange,提问作者clauziere
相关产品推荐
相关产品推荐

