Dart 是否支持使用现有的 JavaScript 库?

发布于 2024-12-09 14:35:51 字数 396 浏览 1 评论 0原文

我了解 Dart 编译为 JavaScript,并且阅读了有关库的 Dart 语言规范,虽然我在那里没有看到答案。还可以搜索他们的 针对“现有”一词的讨论表显示 3 个不相关的结果。

有谁知道 Dart 是否支持使用现有的 JavaScript 库,例如 jQuery 或 Raphael?

I understand Dart compiles to JavaScript, and I read the Dart Language Spec on Libraries, although I didn't see an answer there. Also a search on their discussion form for the word 'existing' turns up 3 results that are not related.

Does anyone know if Dart will support the use of existing JavaScript libraries such as jQuery or Raphael?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

说谎友 2024-12-16 14:35:51

现在答案是肯定的! Dart 现在提供了一个 JS 互操作库,以便在您的 Dart 应用程序中使用现有的 JavaScript 代码。在此处了解更多信息:https://www.dartlang.org/articles/js-dart-互操作/

The answer is now Yes! Dart now ships a JS-interop library to use existing JavaScript code with your Dart app. Learn more here: https://www.dartlang.org/articles/js-dart-interop/

又怨 2024-12-16 14:35:51

您将无法直接从 dart 代码调用 javascript。 native 指令是为 dartc 的核心库(dart:core、dart:dom、dart:html、dart:json 等)保留的,它本身编译为 javascript。

You will not be able to call javascript directly from dart code. The native directive is reserved for the core libraries of dartc (dart:core, dart:dom, dart:html, dart:json, etc), which itself compiles to javascript.

陈甜 2024-12-16 14:35:51

现在有一种新的更简单的方法 https://pub.dartlang.org/packages/js (当前版本 0.6.0-beta.6)

使 JS 类和函数可用于 Dart,例如:

@JS("JSON.stringify")
external String stringify(obj);
@JS('google.maps')
library maps;

// Invokes the JavaScript getter `google.maps.map`.
external Map get map;

// `new Map` invokes JavaScript `new google.maps.Map(location)`
@JS()
class Map {
  external Map(Location location);
  external Location getLocation();
}

// `new Location(...)` invokes JavaScript `new google.maps.LatLng(...)`
//
// We recommend against using custom JavaScript names whenever
// possible. It is easier for users if the JavaScript names and Dart names
// are consistent.
@JS("LatLng")
class Location {
  external Location(num lat, num lng);
}

有关更多信息,请参阅包的自述文件

There is now a new simpler way https://pub.dartlang.org/packages/js (currently version 0.6.0-beta.6)

Make JS classes and functions available to Dart like:

@JS("JSON.stringify")
external String stringify(obj);
@JS('google.maps')
library maps;

// Invokes the JavaScript getter `google.maps.map`.
external Map get map;

// `new Map` invokes JavaScript `new google.maps.Map(location)`
@JS()
class Map {
  external Map(Location location);
  external Location getLocation();
}

// `new Location(...)` invokes JavaScript `new google.maps.LatLng(...)`
//
// We recommend against using custom JavaScript names whenever
// possible. It is easier for users if the JavaScript names and Dart names
// are consistent.
@JS("LatLng")
class Location {
  external Location(num lat, num lng);
}

for more see the readme of the package

残疾 2024-12-16 14:35:51

还有一个 dart:js 库。这里有一篇文章解释如何使用这个库与 JavaScript 进行互操作。

There is also a dart:js library. And here is an article explaining how to use this library for interoperating with JavaScript.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文