Calling Dart from Javascript



如何让 dart to js 编译器将 dart API 导出到 js,并直接映射到原始 dart API 到 js API 的转换结果?

目的只是用 dart 编写一个库并从 js 使用它。

从 dart 调用 js 没有问题。但是,我的问题反过来解决互操作。目前,我找不到任何库或文档作为该问题的解决方案。在 dart:js 和 package:js 库的文档中,明确指定互操作只能以一种方式工作。

有不正确的解决方案来实现另一种互操作方式,但只能通过黑客。例如,从 javascript 调用 Dart 代码会强制以受互操作库限制的方式向函数传递和返回函数,而不是开发人员的意图。

明确地,我不鼓励将这样的解决方案作为答案 https://stackoverflow.com/a/45883551 因为它是一个灵活的解决方案,但不是标准的解决方案。出于某些目的,建议在原始 API 和转译 API 之间建立标准映射。参考答案相当复杂。

这意味着即使是术语"I N T E R"op也可能是错误的,因为它暗示了两种操作方式!目前,dart 和 js 之间似乎没有互操作 - 这是真的吗?

Dart不适合该用例。dart:js和一些黑客攻击package:js允许一个接一个地公开方法,但这似乎不适合您的用例。

您可以使用用于开发的 DDC,但会发出可从 JS 使用的可读代码。

对于生产,Dart应该使用dart2js工具编译为JS,该工具可以进行摇树和缩小。摇树需要整个应用程序分析,以了解需要保留哪些代码。

我从项目中听说 DDC 适用于与您类似的用例。

最新更新