thumbnail
thumbnail

Node.jsの後継Denoを使ってみた

updated 2021-8-3

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できました

Deno Hello world

おまけ

コンソールで起動したものを落とすにはCmd + C(Ctrl + C)

まとめ

ファイルをインストールしないので、容量を気にする人にはオススメです
package.jsonのようなライブラリ管理ファイルを使用しないので、使っているライブラリの管理をどうするのか調べた方が良さそう

参考

Rustプログラミング言語
Typescript Deno