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

新手求助:如何创建同时支持Flutter与Dart的开发包?

选择flutter create --template=package还是dart create -t package?

核心差异

  • dart create -t package:生成纯Dart包,完全独立于Flutter框架。这类包的pubspec.yaml不会包含Flutter相关依赖,代码里也无法调用Flutter的API(比如Widget、BuildContext),仅适用于纯Dart场景(如命令行工具、后端服务)。
  • flutter create --template=package:生成Flutter兼容包,默认引入Flutter依赖,但并非只能用于Flutter项目——只要你合理拆分代码,就能同时支持Flutter和纯Dart场景。

针对“同时支持两者”的实操建议

如果目标是开发跨Flutter、纯Dart的通用包,优先选flutter create --template=package,只需做好以下几点:

  1. 代码分层:
    • 把不依赖Flutter的核心逻辑放在lib/src/目录,确保这部分代码完全是纯Dart实现,能直接被纯Dart项目引用。
    • 把Flutter专属的适配层(比如组件封装、Flutter API调用)放在lib/根目录或单独的lib/flutter/目录,供Flutter项目调用。
  2. 依赖配置:
    在pubspec.yaml中,将Flutter相关依赖设为可选依赖或仅放在dev_dependencies中(如果只是开发测试需要),避免纯Dart项目引入包时被迫安装Flutter。
  3. 双环境测试:
    分别用dart test运行纯Dart逻辑测试,用flutter test验证Flutter适配层功能,确保两部分都能正常工作。

为什么不选纯Dart包?

如果用dart create -t package生成纯Dart包,后续想添加Flutter相关功能需要手动修改配置、补全Flutter开发环境,灵活性远不如一开始就用Flutter包模板。

内容的提问来源于stack exchange,提问作者fueripe-desu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:25:17