在 Web 上运行的 Flutter 应用程序失败并出现错误:只有 JS 互操作成员可能是“外部”

Chr*_*ris 3 javascript dart flutter-web flutter-objectbox

我正在尝试让我当前的 Flutter 应用程序在网络上运行。我打了电话flutter create .,但如果我尝试在 Chrome 中运行它,我会收到大约 10000 条错误消息的提示,这些消息都如下所示:

尝试删除“external”关键字或添加 JS 互操作注释。外部 ffi.Pointer<OBX_id_array> 删除;^

../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6289:41:错误:仅JS互操作成员可能是“外部”的。尝试删除“external”关键字或添加 JS 互操作注释。外部 ffi.Pointer<OBX_sync_change> 列表;^

../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6292:16:错误:仅JS互操作成员可能是“外部”的。尝试删除“external”关键字或添加 JS 互操作注释。外部整数计数;^

无法编译应用程序。

我尝试用谷歌搜索,但找不到任何关于此的信息。有谁知道这是什么以及我该如何适应它?

vai*_*ind 7

在这里重新发布GitHub 问题的答案

您无法使用不支持 Web 的包构建 Web 应用程序,而 ObjectBox 还不支持(不过您可以跟踪一个问题)。

有时你可能希望在一小部分代码中存在依赖关系,如果它不适用于网络也没关系,在这种情况下,你可以使用“条件导入”,例如:

import 'myapp/sources-that-use-objectbox.dart' if (dart.library.html) 'myapp/sources-that-dont-use-objectbox.dart';
Run Code Online (Sandbox Code Playgroud)