oak のサンプル (その3)


Deno のフレームワーク oak のサンプルです。 Static content を改造しました。

フォルダー構造

$ tree
.
├── examples
│   └── static
│       └── index.html
└── oak_static.ts
oak_static.ts
// ---------------------------------------------------------------
//  oak_static.ts
//
//                  May/20/2020
//
// ---------------------------------------------------------------
// import { Application,send } from "https://deno.land/x/oak/mod.ts"
import { Application,Router } from "https://deno.land/x/[email protected]/mod.ts"

const app = new Application()

app.use(async (context) => {
  await send(context, context.request.url.pathname, {
    root: `${Deno.cwd()}/examples/static`,
    index: "index.html",
  })
})

console.log("*** start ***")
console.log(`${Deno.cwd()}/examples/static`)
await app.listen({ port: 8000 })

// ---------------------------------------------------------------
examples/static/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>Welcome to nginx!</title>
</head>
<body>
<h1>Welcome to oak!</h1>
<blockquote>
こんにちは<p />
</blockquote>
<hr />
May/20/2020 AM 09:44<p />
</body>
</html>

実行コマンド

deno run --allow-net --allow-read oak_static.ts

http://localhost:8000/ にアクセス