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

Flutter build web如何排除指定文件夹不进行代码混淆?

Flutter Web编译时排除Model文件夹混淆的方案(Flutter 3.3.10/Dart 2.18.6)

要避免model目录下的代码被混淆,按以下步骤操作:

  1. 创建混淆规则配置文件
    在项目根目录新建dart_options.yaml文件,写入以下配置(替换your_project_name为实际项目包名,对应pubspec.yaml里的name字段):
obfuscate:
  keep:
    - "package:your_project_name/model/**"

这个规则会保留model文件夹下所有文件的原始类名、方法名,不进行混淆。

  1. 执行带混淆参数的编译命令
    运行Web编译时,指定混淆配置文件:
flutter build web --obfuscate --split-debug-info=./build/debug-info --dart-define=DART_OPTS=dart_options.yaml
  • --obfuscate:开启代码混淆功能
  • --split-debug-info:生成调试映射文件(可选,用于混淆后的代码调试)
  • --dart-define=DART_OPTS=...:指定我们创建的混淆规则文件
  1. 验证结果
    编译完成后,检查build/web中的产物,搜索model里的类名或方法名,确认它们没有被混淆替换。

如果需要更精细的控制,比如只保留某个特定model文件,可以把规则改成具体路径,例如:

obfuscate:
  keep:
    - "package:your_project_name/model/user.dart"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:33:15