Windows10 Deno(ディーノ)をインストールしてHello Worldしてみる

Windows10 Deno(ディーノ)をインストールしてHello Worldしてみる

Node.jsの製作者がであるRyan Dahlによって開発された「Deno」のバージョン1がリリースされたので、Windows10にscoopを使って、denoをインストールして「Hello Worl」を表示するまでの手順を記述してます。Denoはnode.jsの反省点をふまえた新しいJavaScriptランタイムです。

環境

  • OS windows10 64bit
  • Deno 1.0.0

Denoインストール

下記のコマンドでインストール可能です。

scoop install deno

バージョンを確認してみます。

deno --version

<出力結果>
deno 1.0.0
v8 8.4.300
typescript 3.9.2

サンプルを実行してみます。

deno run https://deno.land/std/examples/welcome.ts

<出力結果>
Download https://deno.land/std/examples/welcome.ts
Warning Implicitly using master branch https://deno.land/std/examples/welcome.ts
Compile https://deno.land/std/examples/welcome.ts
Welcome to Deno 🦕

Hello Worldしてみる

hello.tsという名前でファイルを作成して下記の内容を記述します。

console.log('Hello World');

実行してみます。

deno run hello.ts

<出力結果>
Compile file:///C:/deno-work/hello.ts
Hello World

WEBでhello worldしてみます。
web_hello.tsというファイルを作成して下記の内容で編集します

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

async function main() {
    const body = new TextEncoder().encode("Hello World\n");
    let port = 8000
    const s = serve({ port: port });
    console.log(`Server had been started at:
    http://localhost:${port}/`);
    for await (const req of s) {
      req.respond({ body });
    }
};

main()

–allow-net というオプションを付けて、実行します。

deno run --allow-net web_hello.ts

<出力結果>
error: Uncaught AddrInUse: 通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 (os error 10048)
    at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
    at Object.sendSync ($deno$/ops/dispatch_json.ts:72:10)
    at Object.listen ($deno$/ops/net.ts:51:10)
    at listen ($deno$/net.ts:152:22)
    at serve (https://deno.land/std/http/server.ts:261:20)
    at main (file:///C:/deno-work/web_hello.ts:6:15)
    at file:///C:/deno-work/web_hello.ts:14:1

既に8000番ポートを使用していたのでエラーが発生しました。
ソースコード「let port = 8000」を「 let port = 8001」変更して、再度実行します。

deno run --allow-net web_hello.ts

<出力結果>
Compile file:///C:/deno-work/web_hello.ts
Server had been started at:
    http://localhost:8001/

ブラウザから http://localhost:8001 にアクセスするとHello Worldが表示されていることが確認できます。