如何减少Flutter的build_runner构建时间

4

我的项目变得越来越大,每次运行 build_runner 都需要花费太多时间进行构建。我想要减少构建时间的方法是只构建实际需要构建的文件,这些文件位于我当前正在使用的功能目录下。

有没有办法仅针对单个文件夹或单个文件运行 build_runner?


这不是 build_runner 已经做的事情吗?如果一切都是最新的,那么我只需要几秒钟就能确定没有任何需要更改的东西。但这可能取决于所生成的内容。对我而言,这是一个 drift 数据库。 - fravolt
2个回答

3

您可以在构建器中将 enabled 设置为 true 或 false。

targets:
  $default:
    builders:
      your_builder:
        generate_for:
          - lib/**/*.dart
      mockito:mockBuilder:
        enabled: false
      json_serializable:
        enabled: true

有没有通过cli的方式来实现它的方法? - Fran

2

我发现对于单个构建器使用generate_for是提高速度的好方法。
你可以:

  1. 将相关文件移动到专用文件夹中,然后
$default:
  builders:
    your_builder:
      generate_for:
        - lib/path/to/folder/**.dart
  1. 为您的文件添加一个特殊的扩展名。例如,对于json_serializable,我会在我的文件后缀中加上.json.dart,然后我使用lib/**.json.dart来进行generate_for

更多信息请参见:https://codewithandrea.com/tips/speed-up-code-generation-build-runner-dart-flutter/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接