You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅针对特定Target运行build_runner工具?

Dart Build 定向构建与生成文件保留方案

定向执行单个Target构建

完全可行,直接使用build_runner的--target参数指定要构建的target即可,比如仅执行drift相关构建:

dart run build_runner build --target drift

如果用监听模式:

dart run build_runner watch --target drift

这样只会触发指定target下的构建逻辑,不会干扰其他target的内容。

避免设置enable: true/false删除生成文件

别用enable字段开关target,改用build_runner的--build-filter参数过滤本次构建要处理的文件,比如只处理drift相关源码:

dart run build_runner build --build-filter="**/*.drift" --build-filter="**/*.dart"

也可以反向排除其他target的文件:

dart run build_runner build --build-filter="!**/router.dart" --build-filter="!**/graphql/**"

这种方式不会修改build.yaml配置,也不会删除已生成的其他target文件,只是限制本次构建的处理范围。

另外,还可以给不同target配置独立的outputs路径,把各target的生成文件隔离开,就算误操作也不会互相影响:

targets:
  $default:
    # ...
  drift:
    builders:
      drift_dev:
        outputs:
          - lib/drift_generated/
  go_router:
    builders:
      go_router_builder:
        outputs:
          - lib/router_generated/

内容的提问来源于stack exchange,提问作者Gpack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:22:05