--- import Layout from "@/layouts/Layout.astro" import Article from "@/components/pages/article.astro" import { fetchArticleById } from "@/lib/data" // 按需 SSR:服务端按 ?id= 取数并渲染(保留既有 /article?id= 链接,无需改动其他页面) export const prerender = false const API = (import.meta.env.API_SSR || import.meta.env.PUBLIC_API_BASE || "http://localhost:8090").replace(/\/$/, "") const id = Astro.url.searchParams.get("id") let article: import("@/lib/data").RawArticle | null = null let error: "missing" | "failed" | null = null if (!id) { error = "missing" } else { try { article = await fetchArticleById(id, API) } catch { article = null } error = article ? null : "failed" } ---