Dart支持使用现有的JavaScript库吗?

我理解Dart编译为JavaScript,并且阅读了Dart语言规范库,尽pipe我没有在那里看到答案。 同样,在他们的讨论表单上search“存在”这个词会得出3个不相关的结果。

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

答案是现在是的! Dart现在发布了一个JS互操作库,以便在您的Dart应用中使用现有的JavaScript代码。 在这里了解更多: https : //www.dartlang.org/articles/js-dart-interop/

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

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

让Dart可以使用JS类和函数:

@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); } 

欲了解更多信息,请参阅包装的自述文件

从论坛看到这个线程: 调用旧的JavaScript代码 。

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