Netlify
Netlify 提供静态网站托管和无服务器后端服务。Edge Functions(边缘函数)使我们能够让网页变得动态。
Edge Functions 支持使用 Deno 和 TypeScript 进行开发,并通过 Netlify CLI 实现简单的部署。使用 Hono,你可以为 Netlify Edge Functions 创建应用程序。
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
bun create hono@latest my-app
sh
deno init --npm 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 运行开发服务器。然后在浏览器中访问 http://localhost: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 type { Context } from 'https://edge.netlify.com/'
export type Env = {
Bindings: {
context: Context
}
}
const app = new Hono<Env>()
app.get('/country', (c) =>
c.json({
'你在': c.env.context.geo.country?.name,
})
)
export default handle(app)