1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HonoでAPIを作成し、Cloudflareにデプロイする。

Last updated at Posted at 2024-08-03

はじめに

前回の続きです。CloudflareのAPIを作成した記事を見ていると、Honoのフレームワークをよく見かけます。たまに記事で見かけると思ってたので、今回Cloudflareを触るのをきっかけにHonoも実装していこうと思います。

そもそもHonoって何??

Cloudflare社の和田裕介さんが開発したWebフレームワークです。Web標準に基づいて構築されているため、あらゆるJavaScript ランタイムで動作するのが特徴です。
(e.g. Cloudflare Workers、Fastly Compute、Deno、Bun、Vercel、Netlify、AWS Lambda、Lambda@Edge、Node.js など)

小話:元々、和田さんはCloudflare社でHonoを作っていたわけではなく、Honoを作っていたらCloudflare社にスカウトされたようです。いいOSSを作成してればBigTech企業から声がかかってきたんですね。おもしろい。
今では、cloudflareのstarter frameworkにhonoが選べるのがまたいいですね!

プロジェクト作成

~/develop/cloudflare_api (HEAD)$ npm create cloudflare@latest
Need to install the following packages:
create-cloudflare@2.23.0
Ok to proceed? (y) y


> npx
> create-cloudflare


using create-cloudflare version 2.23.0

╭ Create an application with Cloudflare Step 1 of 3
│ 
├ In which directory do you want to create your application?
│ dir ./young-moon-ae78
│
├ What would you like to start with?
│ category Framework Starter
│
╰ Which development framework do you want to use?
  ○ Analog
  ○ Angular
  ○ Astro
  ○ Docusaurus
  ○ Gatsby
  ● Hono
  ○ Next
  ○ Nuxt
  ○ Qwik
  ○ React
  ○ Remix
  ○ Solid
  ○ Svelte
  ○ Vue

何回かエンターを押していくとstarterの状態でデプロイまで実施されURLが発行されます。

プログラム

src/index.ts
import { Hono } from 'hono'

type Bindings = {
  [key in keyof CloudflareBindings]: CloudflareBindings[key]
}

const app = new Hono<{ Bindings: Bindings }>()

app.get('/', (c) => {
  return c.text('Hello Hono!')
})

export default app

→これだけだと発展性がないので、DB接続まで実施したいですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?