microCMS+Nuxt.jsでsitemapを生成してみる

コード Vue.js/Nuxt.js

microCMSを使ったNuxt.jsのサイトでsitemapを生成する方法をメモ。

必要なライブラリをインストール

npm install @nuxtjs/sitemap --save

nuxt.config.js

nuxt.config.jsにこんな感じのコードを追加してgenerateかbuildすることでsitemap.xmlが生成されます。

  modules: [
    '@nuxtjs/sitemap'
  ],
  sitemap:{
    hostname: 'ホスト名',
    async routes(){
      let post = await axios.get("microCMSのURL", { headers: { "X-MICROCMS-API-KEY": "APIキー" } })
      post = post.data.contents.map(i=>{
        return "/posts/"+i.id
      })
      return post
    }
  }

コメント

タイトルとURLをコピーしました