我知道我可以用对象中的exclude
数组排除 url ,但是有没有办法要求所有 URL 都有一些字符串?主要是要求添加到站点地图的网址包含或options
gatsby-plugin-sitemap
en-us
es-us
{
resolve: `gatsby-plugin-sitemap`,
options: {
exclude: [`all urls must contain "en-us" or "es-us"`],
},
},
谢谢!
更新!!
感谢@MarkoCen,我能够完成这项工作。我只是使用正则表达式在我的站点地图中添加了我想要的 URL。这是代码,如果有人感兴趣。请注意,我必须使用这种方法手动排除:/404
{
resolve: `gatsby-plugin-sitemap`,
options: {
query: `
{
site {
siteMetadata {
siteUrl
}
}
allSitePage {
edges {
node {
path
}
}
}
}`,
serialize: ({ site, allSitePage }) => {
const links = [];
for (let i = 0; i < allSitePage.edges.length; i++) {
const { path } = allSitePage.edges[i].node;
if (
/products|404|unsupported|account/.test(path)
) {
continue;
} else if (/en-us|es-us/.test(path)) {
links.push({
url: site.siteMetadata.siteUrl + path,
changefreq: 'daily',
priority: 0.8,
});
}
}
return links;
},
},
},