Javascript 检查已在盖茨比中创建的页面
我正在建立一个盖茨比网站,通过createPages创建了很多页面。我正在从我的API、多个端点获取数据 问题是来自端点的一些数据被重复,我最终会重新创建已经构建的页面Javascript 检查已在盖茨比中创建的页面,javascript,reactjs,gatsby,Javascript,Reactjs,Gatsby,我正在建立一个盖茨比网站,通过createPages创建了很多页面。我正在从我的API、多个端点获取数据 问题是来自端点的一些数据被重复,我最终会重新创建已经构建的页面 有没有办法知道哪些页面已经生成?例如,通过查询slug?确定每个页面的唯一标识符。例如,如果标识符是slug,则将生成的每个slug存储在createPages foreach循环的数组中,并检查重复项 例如: const existingSlugs = []; result.data.allMarkdownRemark.ed
有没有办法知道哪些页面已经生成?例如,通过查询slug?确定每个页面的唯一标识符。例如,如果标识符是slug,则将生成的每个slug存储在createPages foreach循环的数组中,并检查重复项 例如:
const existingSlugs = [];
result.data.allMarkdownRemark.edges.forEach(({ node }) => {
if (!existingSlugs.includes(node.fields.slug)) {
createPage({
path: node.fields.slug,
component: path.resolve(`./src/templates/blog-post.js`),
context: {
slug: node.fields.slug,
},
})
existingSlugs.push(node.field.slug);
}
})
确保检查所有来源。为什么不在创建页面之前先过滤数据?确定数据是否重复的唯一标识符是什么?鼻涕虫?然后,您可以将生成的每个slug存储在createPages foreach循环中的一个数组中,并检查是否存在重复项。@AlbertSkibinski这就是我们最终要做的。谢谢如果您创建了一个答案,我会将其标记为正确答案。