🦕

Deno入門

2021/06/18に公開

導入

MacOSなので、brewに入れる。

$ brew install deno

バージョン確認。

$ deno -V
deno 1.8.1

exampleを実行。

$ deno run https://deno.land/std/examples/welcome.ts
Download https://deno.land/std/examples/welcome.ts
Warning Implicitly using latest version (0.90.0) for http://deno.land/std/examples/welcome.ts
Download https://deno.land/std@0.90.0/examples/welcome.ts
Check https://deno.land/std/examples/welcome.ts
Welcome to Deno!

自分でコードを書いて、ローカルサーバーを立ててみる。

import { serve } from "https://deno.land/std@0.89.0/http/server.ts";

const port = 8000;
const http_server = serve({
  port: port
});

for await (const req of http_server) {
  req.respond({
    body: "Hello Deno World\n"
  });
}

Denoはデフォルトでセキュアなので、--allow-netで明示的に実行する。
(その他にも--allow-readや--allow-writeなど、複数指定可能)

$ deno run --allow-net server.ts
http://localhost:8000/

localhost:8000をブラウザで開いて、レスポンスが返ってきているのを確認。

メリット

  • node_modules, package.jsonがない(importにエンドポイントを指定して、初回実行時にキャッシュして使用する)(golangみたい)
  • デフォルトでtypescriptに対応している
  • セキュアなのでセキュリティがいい
  • トップレベルawaitが使える

Discussion