跳到主要内容

什么是 Codegen?

Codegen 是一个避免编写大量重复代码的工具。使用 Codegen 不是强制性的:您可以手动编写所有生成的代码。但是,Codegen 生成的脚手架代码可以为您节省大量时间。

React Native 会在每次构建 iOS 或 Android 应用程序时自动调用 Codegen。偶尔,您可能希望手动运行 Codegen 脚本,以了解实际生成了哪些类型和文件:这在开发 Turbo Native Modules 和 Fabric Native Components 时是一个常见的场景。

Codegen 的工作原理

Codegen 是一个与 React Native 应用程序紧密结合的过程。Codegen 脚本位于 react-native NPM 包中,应用程序在构建时调用这些脚本。

Codegen 从您在 package.json 中指定的目录开始,爬取您项目中的文件夹,寻找包含自定义模块和组件规范(或 specs)的特定 JS 文件。规范文件是使用类型方言编写的 JS 文件:React Native 目前支持 Flow 和 TypeScript。

每次 Codegen 找到一个规范文件,它都会生成与之相关的样板代码。Codegen 生成一些 C++ 粘合代码,然后生成特定于平台的代码,Android 使用 Java,iOS 使用 Objective-C++。