dart - 使用Dart语言的第三方库

标签 dart dart-pub dart-js-interop

如何在dart ..中导入和使用任何第三方javascript库?我想在我的dart应用程序中使用snapsvg渲染svg。但不确定如何添加依赖项以添加和导入它。

我将js: any添加到我的pubspec.yaml中,并将packages/browser/interop.js导入到我的html中。我将下载的snapsvg.js放在哪里,并将其导入到我的dart源文件中以使用它。

我正在尝试使用来自dart的snapsvg框架的以下javascript代码。

s = Snap(800, 600);
s.rect(0, 0, 100, 100).attr({
    fill: 'white',
    stroke: 'black'
});

我从dart中尝试了以下代码:

  import 'package:js/js.dart' as js;
  void main() {
      var s = js.context.Snap(800, 600);
      s.rect(0, 0, 100, 100);
  }

这在dartium中工作正常,但是当我在构建后以JavaScript运行时,出现javascript错误“对象中找不到方法zm”

我认为这不是正确的方法,我应该在代理上使用callMethod。所以我改变了这样的代码

import 'dart:js' show context, JsObject;
void main() {
     var snap = context['Snap'];
    snap.callMethod('rect', 0,0,100,100);
}

这在Dartium中本身不起作用。如果有人可以提供如何从dart调用构造函数Snap(800, 600)以及示例代码中的rectattr方法的示例,我将不胜感激。

最佳答案

您可以使用<script>标记将它们添加到HTML文件中。
您可以使用dart-js-interop从Dart调用JavaScript函数。
在Stackoverflow上,此标记下有很多示例-只需单击问题下方的标记即可。
当您提供更具体的示例时,更容易提供帮助。

关于dart - 使用Dart语言的第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873412/

相关文章:

image - 如何使用 ui.Image 作为 ImageProvider 数据源

flutter - 在多个屏幕之间共享 BLoC 的便捷方式

firebase - Flutter:方法[]在null上被调用

android - 需要从其他有状态小部件更新 bool 标志

dart - 如何在Dart 2中运行Pub.build()

dart - 从 Dart 监听 JS 对象的事件

dart - 如何使用新的 js 0.6.0 包将 Dart 类映射到 JS "class"?

exception - 在 Dart 中管理登录/功能错误的最佳做法是什么?

flutter - dart/flutter pub 的 credentials.json 的新位置是什么

javascript - JS 到 Dart 转换