@arkstack/ inertia (帮助)
运行时间不可知 内尔蒂亚JS arkstack 的服务器侧适配器。 构建一个没有API的单页应用程序(Vue,React,或Svelte):控制器返回页面组件和道具,Inertia处理客户端路由. 与快车和H3司机同时工作.
安装
pnpm add @arkstack/inertia
然后将中间软件注册到 src/config/middleware.ts 下级 before (与 resora():
import { inertia, resora } from '@arkstack/driver-express/middlewares' // or @arkstack/driver-h3/middlewares
export default (): MiddlewareConfig => ({
before: [resora(), inertia()],
})
发布配置和根模板 :
ark publish --package @arkstack/inertia
使用量
import { inertia, Inertia } from '@arkstack/inertia'
// Render a page — JSON page object on Inertia visits, full HTML on first load
return inertia('Users/Index', { users: await User.all() })
// Shared props (global at boot, or request-scoped inside a handler)
inertia().share('appName', config('app.name'))
// Partial-reload helpers
inertia('Users/Index', {
users: await User.all(),
stats: Inertia.lazy(() => expensiveStats()), // only on a partial reload that asks for it
chart: Inertia.defer(() => buildChart()), // fetched by the client after load
auth: Inertia.always({ user: request.user }), // always present, even on partials
})
// Redirects (302 -> 303 for PUT/PATCH/DELETE) and external/full-page visits
Inertia.redirect('/users')
Inertia.location('https://example.com')
服务器侧渲染
设定 ssr.enabled 内 src/config/inertia.ts,构建一个 SSR 捆绑,并运行它与监督命令:
ark inertia:ssr # runs dist-ssr/ssr.js, restarting it if it crashes
初始访问随后被服务器调取并被客户端水合;如果SSR服务器无法到达,适配器会回落到客户端-侧渲染.
文档
见 惯性指南 用于完整设置、部分重载、资产版本、配置和安保部门改革.