CachedBuildRunner 通过缓存未更改的 Dart 文件生成的代码来提升 build_runner 的性能,减少重复构建。它通过跳过未更改代码的重新生成,最大限度地缩短大型项目中的构建时间,从而提高开发效率。对于广泛使用代码生成的项目(如 json_serializable 或 freezed),该工具可无缝集成到现有工作流程中,无需配置更改。该包在 GitHub 上维护,并支持所有主要的 Flutter 平台。
适合场景
- 大规模代码生成项目
- 更快的增量构建
- 减少CI/CD流水线时间
- 使用 json_serializable 或类似生成器的项目
- 提高开发人员工作流程速度
主要特点
- 按文件缓存生成的代码
- 跳过未更改文件的重新生成
- 无需配置
- 与 build_runner 的无缝集成
- 支持所有 Flutter 平台
适合对象
- 使用代码生成的开发人员经常
- 致力于缩短构建时间的团队
- 具有重复构建的 CI/CD 环境
- 大量使用构建器的项目
使用建议
- 在极少数情况下可能需要清除缓存
- 对于代码生成较少的小型项目不需要
- 缓存行为取决于文件修改检测
- 最好与稳定的 build_runner 版本一起使用
- 仅限 Dart 文件更改跟踪