openElement 优先部署静态文件。运行时 API 路由在应用需要动态行为时,通过 serverless 或 edge adapter 单独部署。
deno task build构建输出 dist/:带 Declarative Shadow DOM 的静态 HTML、client island chunks 和复制的公开资源。
部署在仓库子路径下时,设置 Vite base。
构建命令:deno task build;输出目录:dist。
发布目录:dist。
使用静态输出,Framework 预设选 "Other"。
上传 dist 并配置合适的缓存头。
API 路由属于生成的 Hono app。静态托管不会自动执行它们。当应用需要运行时行为时,通过平台 adapter 部署 API 路由。
| Target | Status | Notes |
|---|---|---|
| Deno Deploy | Natural fit | Closest to the Deno-first development model. |
| Cloudflare Workers | Good fit | Hono maps well to Workers. |
| Vercel / Netlify Functions | Needs adapter | Requires documented build output and runtime entry contract. |
openElement 主路径不需要长期运行的生产 SSR 服务器。静态页面应保持静态;动态行为应为显式 API 或未来的 ISR。这使托管便宜、可缓存、运维轻量。
openElement 支持 Progressive Web App。在 public/ 目录放置 manifest 和 service worker, 构建时会自动复制到输出目录。配置 CSP meta 和 view transition 元数据可通过 Vite 插件自动注入。
// vite.config.ts
import { openElement } from '@openelement/app/vite';
export default defineConfig({
plugins: [openElement({
pwa: {
injectManifest: true,
},
})],
});