import type { PageContextServer } from 'vike/types'; import type { FeedData } from '../../src/ssr/feedData'; export { data }; type NotFoundAbortReason = { head?: FeedData['head']; boot?: FeedData['boot']; }; /** * 错误页取数:feed +data 未找到(帖子/板块)时 throw render(404, { head, boot }), * 壳层数据经 abortReason 带过来,保证 404 页也渲染完整站点壳与 noindex head。 */ async function data(pageContext: PageContextServer): Promise { if (!import.meta.env.SSR) return { kind: 'notfound' }; const reason = pageContext.abortReason as NotFoundAbortReason | undefined; return { kind: 'notfound', head: reason?.head, boot: reason?.boot, }; }