排除某些文件/库以在 Flutter Web 中构建

Posted

技术标签:

【中文标题】排除某些文件/库以在 Flutter Web 中构建【英文标题】:Exclude certain file/lib for building in flutter web 【发布时间】:2020-01-30 23:10:14 【问题描述】:

由于 Flutter web 还不支持 dart:io lib 并且有很多包依赖于 dart:io

在构建我的应用程序期间,我收到此错误

transitive libraries have sdk dependencies that not supported on this platform:

app_core|lib/src/blocs/service/user_chat_bloc.dart
mqtt_client|lib/mqtt_client.dart

假设我想在没有mqtt_client.dartuser_chat_bloc.dart 的情况下构建。 没有这个库的构建不会对网络造成伤害,但我想保留这个库以供 Flutter Native 使用。也没有关于如何跳过构建这些文件的明确文档。

这里的文档https://github.com/dart-lang/build/blob/master/docs/faq.md#how-can-i-resolve-skipped-compiling-warnings 也不清楚如何跳过某些文件

我已经在build.yaml 中尝试过,但没有成功

targets:
  $default:
    builders:
      build_web_compilers|app_core:
        generate_for:
          exclude:
            - lib/src/blocs/service/user_chat_bloc.dart
            - lib/mqtt_client.dart

【问题讨论】:

我可以知道在哪里可以找到这个 build.yaml 文件吗?,我想在我的颤振项目中排除一些文件(移动应用程序不是 web) @UttamPanchasara 你必须自己创建它。 是的,谢谢,我已经创建并添加了一些排除代码,但似乎不排除 这个运气好吗? 【参考方案1】:

您可以在build.yaml 中这样做:

targets:
  $default:
    sources:
      exclude:
        - lib/test_driver/runner.dart
        - lib/tools/**.dart

更多细节解释你可以找到at the same article you've linked

【讨论】:

你好,你知道如何调整它来忽略包吗?以及如何在网络上专门忽略它们。我在文章中没有看到该信息

以上是关于排除某些文件/库以在 Flutter Web 中构建的主要内容,如果未能解决你的问题,请参考以下文章

如何提供 C 库以在 NixOS 上堆叠?

如何从 SuperBible 获取 GLTools 库以在 Ubuntu 中工作?或替代方案? [关闭]

定义架构特定的cordova插件库以在电容器/反应项目中使用

如何准备代码库以在基于 Windows 和 Unix 的系统上进行编译

修改 Android 源代码的核心 java 库以在应用程序中使用

如何构造 FCM 推送通知以在 Flutter(Android 和 iOS)的默认系统 Web 浏览器应用中打开指定的 URL