Node.jsの後継Denoを使ってみた
Denoとは
Rustというwebassenblyなどを構築できる効率的で信頼できるソフトウェアを誰もが作れる言語があります。
そのRustを使って、javascriptのライブラリをnpmパッケージとして管理できる実行環境Node.jsの悪い部分を補うDeno
ができました。
Deno
はライブラリをローカル環境にインストールしないので、メモリの心配が大幅に減ります。
node_modulesがたくさん増えて困っている方には朗報ですね。
さらにPromise, async/awaitなど扱いの難しい非同期処理についても改善されているようです。
インストール
brew install deno
これで完了
その他のインストール方法
Shell (Mac, Linux)
curl -fsSL https://deno.land/x/install/install.sh | sh
PowerShell (Windows)
iwr https://deno.land/x/install/install.ps1 -useb | iex
Chocolatey (Windows)
choco install deno
Scoop (Windows)
scoop install deno
Build and install from source using Cargo
cargo install deno --locked
起動
deno run https://deno.land/std/examples/welcome.ts
コマンドラインから起動すると
Download https://deno.land/std/examples/welcome.ts
Warning Implicitly using latest version (0.103.0) for https://deno.land/std/examples/welcome.ts
Download https://deno.land/[email protected]/examples/welcome.ts
Check https://deno.land/std/examples/welcome.ts
Welcome to Deno!
HelloworldじゃなかったけどWelcomeされているよう...!
ちなみにwelcome.tsの中身は下記のようなシンプルなものだった
console.log("Welcome to Deno!");
ファイルの作成
Hello worldと返すサーバーを立てます
まずfirst.ts
というファイルを作成します
import { serve } from "https://deno.land/[email protected]/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {
req.respond({ body: "Hello World\n" });
}
first.ts
があるフォルダでコマンドを叩くと
deno run --allow-net first.ts
無事Helloworldできました
おまけ
コンソールで起動したものを落とすにはCmd + C
(Ctrl + C
)
まとめ
ファイルをインストールしないので、容量を気にする人にはオススメです
package.jsonのようなライブラリ管理ファイルを使用しないので、使っているライブラリの管理をどうするのか調べた方が良さそう