【问题标题】:How to use a JS library and a JS function in a Flutter mobile app?如何在 Flutter 移动应用中使用 JS 库和 JS 函数?
【发布时间】:2021-05-14 15:34:23
【问题描述】:

我想在我的移动 Flutter 项目中使用 JavaScript 库。这是github上这个库的链接。

Library

如何在我的项目中使用这个库和一个函数(aboutnumber())?如何将此库导入项目以及如何访问其功能?

【问题讨论】:

  • Flutter 使用 Dart 作为语言,而不是 javascript。对于移动设备,它会编译为本机代码。
  • 那么,没有办法使用js库吧?
  • 你可以看看pub.dev/packages/js
  • 据我了解,packages:js 仅适用于 Flutter Web。但我想在移动应用程序中使用该库。有办法吗?
  • 只有几百行代码。最好将其移植到 Dart 中?

标签: javascript node.js flutter dart


【解决方案1】:

您可以使用https://pub.dev/packages/flutter_js 包。 它允许在移动和桌面 Flutter 应用程序中评估纯 JavaScript 代码。纯粹是指该包不是浏览器引擎,因此没有可用的 web API、localstorage 或其他浏览器 api。但是您可以捆绑一些包含 javascripts 库的 javascript 代码,例如 moment、ajv,如果它仅依赖于 javascript,则可能是您在问题中相关的那个。 flutter_js 注入到 javascript 引擎中,例如 console.log、xhr 和 fetch。但仅此而已。有一个发送消息通道,您可以使用该通道将对象注入引擎,您可以提供将被实现和飞镖的对象,但将共享到 javascript 全局空间中。

在 Flutter web 中,可以使用另一个答案中提到的 package:js 进行 javascript 集成。

免责声明:我是flutter_js包的作者

【讨论】:

【解决方案2】:

JS interop documentation 中所述,这在网络以外的任何平台上都是不可能的。

在网络上,可以使用package:js

【讨论】:

    猜你喜欢
    • 2019-02-19
    • 1970-01-01
    • 2020-06-02
    • 2019-11-04
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多