6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DartAdvent Calendar 2016

Day 9

js_facade_genを使ってDartのJavaScript interopを自動生成する

Posted at

これはDart Advent Calendar9日目の記事です。

今回はDartからJavaScript APIを使うときに便利であるpkg/js用のライブラリをTypeScriptの型定義ファイルから自動生成してくれるツールjs_facade_genについて解説していきたいと思います。

JavaScript interopとjs_facade_genについて

Dartから既存のJavaScriptライブラリを利用する場合は、相互運用を簡単にするためにpkg/jsを利用する必要がありました。このpkg/jsを利用したライブラリを自作するのはすこし面倒です。そこで、TypeScriptの型定義ファイルからpkg/js用のライブラリを生成してしまおうということで作られたのがjs_facade_genです。

簡単に使い方を見ていきます。

js_facade_genの使い方

インストール

js_facade_genを利用するためには、Node.jsが必要です。Nodeが入っている事を確認したら、js_facade_genをnpmでインストールしましょう。

npm install -g dart_js_facade_gen

使い方

GitHubレポジトリのREADMEにも載っていますが一応。

dart_js_facade_gen  --destination=lib/ --basePath=/path/to/dtsfile/directory/ /path/to/dtsfile/directory/file.d.ts

--basePathで目的の型定義ファイルが保存されている場所を指定し、引数に型定義ファイルを渡します。

サンプル

chart.jsのDart版はjs_facade_genによって提供されているようです。

google/chartjs.dart: Dart API for Chart.js

おわりに

すこしコマンドラインのインターフェースが使いづらいということをのぞけば、かなり実用的に使えると思います。ただ、Promiseを利用しているライブラリを使うとなるとすこし面倒になる気がします……もうちょっと調査したら追記します。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?