gpt4 book ai didi

flutter - 如何分别为 Flutter web 和 mobile 添加包?

转载 作者:行者123 更新时间:2023-12-03 03:11:51 24 4
gpt4 key购买 nike

我正在创建一个面向 Android/iOS 和 Web 的 Flutter 项目,有什么方法可以分别为 Flutter Mobile 和 Web 添加支持的包。例如,我在 Flutter 移动应用程序中使用 dart:io 包来保存文件,但在 Flutter web 中不支持它,因此对于 web,我使用 dart:js 包下载 web 应用程序中的文件。

对于 C#,我们只是使用条件符号,但 Flutter 我找不到任何解决方案。

问题是我无法在 main.dart 文件中导入这两个包。谁能帮我实现这一目标

最佳答案

Dart 具有条件导入,可以根据平台库的可用性进行调整。

这意味着你可以在你的包中创建一个使用 dart:io 的库。 ,另一个使用 dart:js ,然后导入其中受支持的任何一个。

import "file_loader.dart" // Version which just throws UnsupportedError
if (dart.library.io) "file_loader_io.dart"
if (dart.library.js) "file_loader_js.dart";

// Use imported API.

重要的部分是您为这些库提供相同的 API - 相同的类型
具有相同的成员和相同的顶级函数 - 这样无论导入哪个库,使用它的代码仍然有效。

编译程序时,只会使用其中一个库,因此如果其他库不正确,您将不会收到警告。您应该在所有支持的平台上测试代码,只是为了确定。

关于flutter - 如何分别为 Flutter web 和 mobile 添加包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60150909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com