【发布时间】:2020-06-05 18:45:05
【问题描述】:
我的目标是仅在相应平台上导入特定于平台的代码。一个用例是例如如果在导入的文件中使用了 dart:html 包,而该文件在 iOS 上不可用。另一个特定于平台的 Dart 代码示例:XHR HTTP 请求(仅在浏览器中可用)与其他 HTTP 客户端实现。
以前的失败尝试:
1)
import 'specific_to_web.dart' if (dart.library.html) '';
2)
import 'package:flutter/foundation.dart' show kIsWeb;
import 'specific_to_web.dart' if (kIsWeb) '';
3)
在我正在导入的文件中:
export 'api_channel_grpc_web.dart'
if (dart.library.html) 'api_channel_grpc_raw.dart';
这在 Flutter 问题Dart SDK libraries and Flutter for web 中也有提及。
【问题讨论】: