Flutter app running on web failing with error: Only JS interop members may be 'external'
Flutter app running on web failing with error: Only JS interop members may be 'external'
我正在尝试让我当前的 Flutter 应用程序在网络上 运行。我调用了 flutter create .
,但如果我尝试 运行 在 Chrome 中调用它,我会收到大约 10000 条错误消息的提示,它们看起来都像这样:
Try removing the 'external' keyword or adding a JS interop annotation.
external ffi.Pointer<OBX_id_array> removals;
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6289:41:
Error: Only JS interop members may be 'external'. Try removing the
'external' keyword or adding a JS interop annotation. external
ffi.Pointer<OBX_sync_change> list;
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6292:16:
Error: Only JS interop members may be 'external'. Try removing the
'external' keyword or adding a JS interop annotation. external int
count;
^
Failed to compile application.
我尝试用谷歌搜索,但我找不到任何相关信息。有谁知道这是关于什么的以及我该如何适应它?
在此处重新发布the answer from a GitHub issue:
您无法使用不支持 Web 的包构建 Web 应用程序,而 ObjectBox 尚不支持 (there's an issue you can track though)。
有时你可能希望在一小部分代码中有依赖关系,如果它不适用于网络也没关系,在这种情况下,你可以使用“条件导入”,例如:
import 'myapp/sources-that-use-objectbox.dart' if (dart.library.html) 'myapp/sources-that-dont-use-objectbox.dart';
就我而言,我不小心使用了网络不支持的“ffi”库。然后我在我的代码中删除了这个库的所有导入,我也从“pubsec.yaml”中删除了这个库。它现在正常启动。
我正在尝试让我当前的 Flutter 应用程序在网络上 运行。我调用了 flutter create .
,但如果我尝试 运行 在 Chrome 中调用它,我会收到大约 10000 条错误消息的提示,它们看起来都像这样:
Try removing the 'external' keyword or adding a JS interop annotation. external ffi.Pointer<OBX_id_array> removals; ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6289:41: Error: Only JS interop members may be 'external'. Try removing the 'external' keyword or adding a JS interop annotation. external ffi.Pointer<OBX_sync_change> list; ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6292:16: Error: Only JS interop members may be 'external'. Try removing the 'external' keyword or adding a JS interop annotation. external int count; ^
Failed to compile application.
我尝试用谷歌搜索,但我找不到任何相关信息。有谁知道这是关于什么的以及我该如何适应它?
在此处重新发布the answer from a GitHub issue:
您无法使用不支持 Web 的包构建 Web 应用程序,而 ObjectBox 尚不支持 (there's an issue you can track though)。
有时你可能希望在一小部分代码中有依赖关系,如果它不适用于网络也没关系,在这种情况下,你可以使用“条件导入”,例如:
import 'myapp/sources-that-use-objectbox.dart' if (dart.library.html) 'myapp/sources-that-dont-use-objectbox.dart';
就我而言,我不小心使用了网络不支持的“ffi”库。然后我在我的代码中删除了这个库的所有导入,我也从“pubsec.yaml”中删除了这个库。它现在正常启动。