现在本地测试没问题了,部署到cf又不行
报错提示无法获取posts的类型,我照抄的astro官方文档:
---
import BaseLayout from "../../layouts/BaseLayout.astro";
export async function getStaticPaths() {
const allPosts = await Astro.glob('../posts/*.md');
const uniqueTags = [...new Set(allPosts.map((post) => post.frontmatter.tags).flat())];
return uniqueTags.map((tag) => {
const filteredPosts = allPosts.filter((post) => post.frontmatter.tags.includes(tag));
return {
params: { tag },
props: { posts: filteredPosts },
};
});
}
const { tag } = Astro.params;
const { posts } = Astro.props;
---
<BaseLayout>
<p>包含「{tag}」标签的文章</p>
<ul>
{posts.map((post) => <li><a href={post.url}>{post.frontmatter.title}</a></li>)}
</ul>
</BaseLayout>
代码截图:
报错截图:
渲染模式 server 报错
渲染模式 hybrid 本地测试正常,SSR 部署错误
server
模式下能直接用相对路径收集文章内容吗?考虑用 getCollection() 来收集posts
集合看看? 函数内也可以直接进行条件筛选。