Netlify
Netlify 提供靜態網站託管和無伺服器後端服務。邊緣函式 使我們能夠動態呈現網頁。
邊緣函式支援使用 Deno 和 TypeScript 編寫程式碼,並且可以透過 Netlify CLI 輕鬆部署。透過 Hono,您可以為 Netlify 邊緣函式建立應用程式。
1. 設定
Netlify 的入門範本已經可用。使用 "create-hono" 命令開始您的專案。在此範例中,選擇 netlify
範本。
sh
npm create hono@latest my-app
sh
yarn create hono my-app
sh
pnpm create hono my-app
sh
bunx create-hono my-app
sh
deno run -A npm:create-hono my-app
進入 my-app
目錄。
2. Hello World
編輯 netlify/edge-functions/index.ts
ts
import { Hono } from 'jsr:@hono/hono'
import { handle } from 'jsr:@hono/hono/netlify'
const app = new Hono()
app.get('/', (c) => {
return c.text('Hello Hono!')
})
export default handle(app)
3. 執行
使用 Netlify CLI 執行開發伺服器。然後,在您的網頁瀏覽器中存取 https://127.0.0.1:8888
。
sh
netlify dev
4. 部署
您可以使用 netlify deploy
命令進行部署。
sh
netlify deploy --prod
Context
您可以透過 c.env
存取 Netlify 的 Context
。
ts
import { Hono } from 'jsr:@hono/hono'
import { handle } from 'jsr:@hono/hono/netlify'
// Import the type definition
import type { Context } from 'https://edge.netlify.com/'
export type Env = {
Bindings: {
context: Context
}
}
const app = new Hono<Env>()
app.get('/country', (c) =>
c.json({
'You are in': c.env.context.geo.country?.name,
})
)
export default handle(app)