2017-09-13 8 views
0

현재 gatsby-starter-blog 용 sitemap.xml을 생성하는 데 문제가 있습니다. http://localhost:8000/sitemap.xml 여전히 찾을 수 없습니다.gatsby-starter-blog 용 사이트 맵

  • NPM은 개츠비에 대한 사이트 메타에게
siteMetadata: 
{ 
    siteUrl: 'http://www.localhost:8000', 
    }, 
plugins: [ 
    { 
    resolve: 'gatsby-plugin-sitemap',   
    }, 
] 
여기
  • 내 코드를 추가 개츠비 - 플러그인 - 사이트 맵
  • 를 설치 : 내가 이미하고 있어요

    -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() 
} 

답변

1

만 빌드 과정이라고, 아직 실행하지 않은 것처럼 보이는, 개발하지. gatsby build을 실행하면 onPostBuild 구현이 실행됩니다.