111

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?

4

4 に答える 4

96

答えはイエスです!Dart は、Dart アプリで既存の JavaScript コードを使用するための JS 相互運用ライブラリを提供するようになりました。詳細はこちら: https://www.dartlang.org/articles/js-dart-interop/

于 2012-01-06T05:24:14.127 に答える
15

Dart コードから直接 JavaScript を呼び出すことはできません。native ディレクティブは、dartc のコア ライブラリ (dart:core、dart:dom、dart:html、dart:json など) 用に予約されており、それ自体が JavaScript にコンパイルされます。

于 2011-10-11T12:56:26.250 に答える
8

新しいより簡単な方法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);
}

詳細については、パッケージの readme を参照してください

于 2015-10-30T15:43:09.350 に答える
4

図書館もありdart:jsます。そして、このライブラリを使用して JavaScript と相互運用する方法を説明する記事がここにあります。

于 2013-12-26T23:09:49.617 に答える