【问题标题】:Conditional package import for desktop in FlutterFlutter 中的桌面条件包导入
【发布时间】:2020-10-24 17:34:38
【问题描述】:

我知道dart.library.html的可用性可以作为web的条件,但是桌面呢?

虽然我认为如果您创建和使用一个新包,其中在pubspec.yaml 中为不同平台指定了不同的包,如the document 中所述,我认为您可以导入特定的包用于桌面而不是移动设备, 为此目的制作这样一个包似乎有点多余。

是否可以仅使用import 'foo.dart' if (...) 'bar.dart' 样式的语句,如果可能,在其if (...) 部分中放入什么库?

【问题讨论】:

  • 我不知道导入,但您可以使用Platform class properties 来检查您的应用正在运行哪个操作系统,这使您可以为每个平台制作不同的小部件。跨度>
  • 桌面版的flutter好像也用到了dart.library.io,所以import 'foo.dart' if (dart.library.io) 'bar.dart'应该可以在移动端和桌面端使用,试试看。
  • 我想做的是导入一个适合每个平台的包,正如我提到的,“一个特定的桌面包而不是移动包”。
  • 这是我能想到的最好的了,我们需要其他人的帮助。抱歉我帮不上忙……

标签: flutter flutter-desktop


【解决方案1】:

您不能使用条件导入来获得移动设备和桌面设备之间的不同行为;请参阅 Dart 团队的this comment

【讨论】:

    猜你喜欢
    • 2021-06-24
    • 2020-09-04
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多