import dart:html 在 android 模拟器上构建时抛出错误,但我需要 html

问题描述 投票:0回答:1

我的 flutter 应用程序使用地图 API 密钥,如下所示。

创建脚本元素.dart

import 'dart:html';
import 'current_flavour.dart';

void createScriptElement() {
  ScriptElement script = ScriptElement();

  script.src = "https://maps.googleapis.com/maps/api/js?key=${currentFlavor()}&language=en&libraries=drawing&callback=Function.prototype";
  script.id = "super-script";

  document.head?.append(script);
}

另一个文件“current_flavour.dart”有密钥

const String flavorDev = "dev-key";
const String flavorProd = "prod-key";

String currentFlavor() {
  final flavor = const String.fromEnvironment("flavor", defaultValue: "dev");
  if (flavor == "prod") {
    return flavorProd;
  }

  return flavorDev;
}

这个应用程序可以完美地作为网络应用程序运行,

flutter run -d chrome --dart-define=flavor="prod"

但是当我在 Android 模拟器上运行时,

flutter run -d emulator-5554 --dart-define=flavor="prod"

由于导入html而失败。我应该如何继续在所有平台上运行它?

flutter dart-html dart-define
1个回答
0
投票

dart:html 不是为移动平台设计的,您可以使用 Universal html 代替,或者您可以根据跨平台使用条件导入。

© www.soinside.com 2019 - 2024. All rights reserved.