gatsby-starter-blog 的站点地图
sitemap for gatsby-starter-blog
目前我在为 gatsby-starter-blog. http://localhost:8000/sitemap.xml 生成 sitemap.xml 时遇到问题,但仍未找到。
我已经在做什么了:
- npm 安装 gatsby-plugin-sitemap
- 添加站点元数据
siteMetadata:
{
siteUrl: 'http://www.localhost:8000',
},
plugins: [
{
resolve: 'gatsby-plugin-sitemap',
},
]
- 这里是我的 gatsby 代码-node.js
const sm = require(`sitemap`)
//const pages = edge.node.frontmatter.path
function pagesToSitemap(pages) {
const urls = pages.map((p) => {
if (p.path !== undefined) {
return {
url: p.path,
changefreq: 'daily',
priority: 0.7
}
}
})
// remove undefined (template pages)
return urls.filter(u => u !== undefined)
}
function generateSiteMap(pages) {
const sitemap = sm.createSitemap({
hostname: 'http://localhost:8000',
cacheTime: '60000',
urls: pagesToSitemap(pages),
})
fs.writeFileSync(
`${__dirname}/public/sitemap.xml`,
sitemap.toString()
)
}
exports.onPostBuild = ({pages, callback}) => {
generateSiteMap(pages)
callback()
}
onPostBuild
只在构建过程中被调用,而不是开发,看起来你还没有 运行。尝试 运行ning gatsby build
然后你的 onPostBuild
实现将是 运行.
目前我在为 gatsby-starter-blog. http://localhost:8000/sitemap.xml 生成 sitemap.xml 时遇到问题,但仍未找到。
我已经在做什么了:
- npm 安装 gatsby-plugin-sitemap
- 添加站点元数据
siteMetadata: { siteUrl: 'http://www.localhost:8000', }, plugins: [ { resolve: 'gatsby-plugin-sitemap', }, ]
- 这里是我的 gatsby 代码-node.js
const sm = require(`sitemap`) //const pages = edge.node.frontmatter.path function pagesToSitemap(pages) { const urls = pages.map((p) => { if (p.path !== undefined) { return { url: p.path, changefreq: 'daily', priority: 0.7 } } }) // remove undefined (template pages) return urls.filter(u => u !== undefined) } function generateSiteMap(pages) { const sitemap = sm.createSitemap({ hostname: 'http://localhost:8000', cacheTime: '60000', urls: pagesToSitemap(pages), }) fs.writeFileSync( `${__dirname}/public/sitemap.xml`, sitemap.toString() ) } exports.onPostBuild = ({pages, callback}) => { generateSiteMap(pages) callback() }
onPostBuild
只在构建过程中被调用,而不是开发,看起来你还没有 运行。尝试 运行ning gatsby build
然后你的 onPostBuild
实现将是 运行.