deno_stdを使ってみようの章では、Denoの標準ライブラリであるdeno_stdについて解説しました。
しかし、欲しい機能がdeno_stdでは提供されていないこともあるかと思います。
その場合は、サードパーティモジュールの利用を検討するとよいです。
この章では、サードパーティモジュールの使用方法について解説します。
deno.land/xからサードパーティモジュールを利用する
deno.land/xとは、Denoの公式のモジュールレジストリです。
試しに、DenoのSQLiteモジュールであるdeno-sqliteをdeno.land/xから利用してみます。
以下のようなファイルを用意してみましょう。
sample.ts
import { DB } from "https://deno.land/x/sqlite@v2.4.0/mod.ts";
const db = new DB(":memory:");
db.query("CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)");
db.query("INSERT INTO users (name, age) VALUES (?, ?)", ["hoge", 20]);
db.query("INSERT INTO users (name, age) VALUES (?, ?)", ["piyo", 30]);
for (const [name, age] of db.query("SELECT name, age FROM users")) {
console.log({ name, age });
}
db.close();
Denoでサードパーティモジュールを利用するときは、上記のようにimport文でモジュールの配信元のURLを指定します。
試しに、上記のファイルを実行してみましょう。
$ deno run sample.ts
実行すると、依存しているサードパーティモジュールがダウンロードされると思います。
Denoでは、一度ダウンロードされたモジュールはJavaScriptコードへトランスパイルされた上で、ローカルのファイルシステムへキャッシュされます。
そのため、すでにキャッシュ済みのサードパーティモジュールに依存したコードは起動が高速化されます。
サードパーティモジュールの探し方
Deno向けに書かれた多くのサードパーティモジュールは、以下のレジストリで公開されています。
基本的には、これらのレジストリからモジュールをimportするとよいでしょう。
使いたいモジュールを探したいときは、以下のページなどから探すとよいです。
npmパッケージを使いたい
場合によっては、Denoからnpmパッケージを使いたいというケースも出てくるかもしれません。
そのような場合については、npmパッケージを使用するページで解説していますので、よろしければそちらを参照ください。
ポイント
- 多くのDenoモジュールはdeno.land/xやnest.landに公開されています。