Flutter web javascript文件集成

Posted

技术标签:

【中文标题】Flutter web javascript文件集成【英文标题】:Flutter web javascript file integration 【发布时间】:2021-09-05 11:09:51 【问题描述】:

我正在处理这个项目,其中已经有一些文件可以从套接字压缩数据。但不幸的是,这些文件是用 javascript 编写的。我目前已经与 Flutter Web 上的 WebSocket 建立了连接。有没有办法在 Flutter 上导入 javascript 文件以使用其中的方法。

【问题讨论】:

这能回答你的问题吗? How to use a JS library and a JS function in a Flutter mobile app? 【参考方案1】:

我假设您想要流式传输数据。如果情况并非如此,而您宁愿进行一次性通话,请忽略我关于 StreamChannel 的 cmets 并使用 MethodChannel

您的问题的解决方案是将逻辑添加到插件并通过StreamChannel调用它

https://api.flutter.dev/flutter/package-stream_channel_stream_channel/StreamChannel-class.html

为了做到这一点:

    使用 Flutter cli 创建一个插件(它可以在您现有的项目中,也可以将其设为单独的 git repo) 在您的pubspec.yaml 中导入新创建的插件 在两端(flutter 和 js)为您的逻辑添加句柄

您可以在这里找到更具体的代码示例说明:https://medium.com/flutter/how-to-write-a-flutter-web-plugin-part-2-afdddb69ece6

它将引导您完成插件设置,只需将 MethodChannel 替换为 StreamChannel

【讨论】:

我只需要能够在 Flutter Web 上使用这 3 个 js 文件。是否可以导入它们。 您可能希望在 index.html 中导入这些文件并执行我在回答中概述的步骤

以上是关于Flutter web javascript文件集成的主要内容,如果未能解决你的问题,请参考以下文章

已部署的 Web 应用程序仍会在 Chrome javascript 控制台 Flutter 中打印所有注释掉的打印语句

如何使用 webview_flutter 包运行自定义 Javascript?

flutter web(3) 快速创建web工程并运行

js,flutter web,H5实现浏览器跳转到微信

Flutter For Web实践

在 Flutter Webview 中运行一些 Javascript 文件,例如 index.js