把前面所有角色串起来,看一遍完整流程:
用户访问 /plays/hamlet
|
v
hooks.server.ts
总控室读取 session,写入 event.locals.user
|
v
src/routes/plays/[slug]/+page.server.ts
后台根据 params.slug 查数据库,准备剧目详情
|
v
src/routes/+layout.server.ts
准备当前登录用户信息
|
v
+layout.svelte + +page.svelte
拼出最终 HTML,首次 SSR 返回给浏览器
|
v
浏览器 hydration
前台开始接管舞台上的交互
|
v
用户点击“立即订票”
|
v
进入 /box-office 页面
|
v
提交 <form method="POST">
|
v
+page.server.ts actions.default
服务端验证、写订单、决定 fail 还是 redirect
|
v
成功后跳到 /orders/123
失败则原页回显错误你会发现,SvelteKit 的强项不是某一个点,而是:
这整条链非常顺。
没有那种明显的“这里开始换世界观”的感觉。
页面、表单、服务端、权限、部署,始终属于同一个剧场系统。