Netlify
توفر Netlify استضافة للمواقع الثابتة وخدمات خلفية (backend) بدون خادم (serverless). Edge Functions يمكّننا من جعل صفحات الويب ديناميكية.
تدعم Edge Functions الكتابة بلغتي Deno و TypeScript، ويتم تسهيل النشر من خلال Netlify CLI. باستخدام Hono، يمكنك إنشاء التطبيق لدوال Netlify Edge Functions.
1. الإعداد
يتوفر قالب بداية لـ Netlify.
ابدأ مشروعك باستخدام الأمر "create-hono".
اختر netlify قالب لهذا المثال.
npm create hono@latest my-app
yarn create hono my-app
pnpm create hono my-app
bun create hono@latest my-app
deno init --npm hono my-app
انتقل إلى my-app.
2. مرحبًا بالعالم
تعديل netlify/edge-functions/index.ts:
import { Hono } from 'jsr:@hono/hono'
import { handle } from 'jsr:@hono/netlify'
const app = new Hono()
app.get('/', (c) => {
return c.text('Hello Hono!')
})
export default handle(app)
3. تشغيل
شغِّل خادم التطوير باستخدام Netlify CLI. ثم، ادخل إلى http://localhost:8888 في متصفح الويب الخاص بك.
netlify dev
4. النشر
يمكنك النشر باستخدام netlify deploy الأمر.
netlify deploy --prod
Context
يمكنك الوصول إلى خاصية Netlify Context عبر c.env:
import { Hono } from 'jsr:@hono/hono'
import { handle } from 'jsr:@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)