🌲 Sitemap 生成网站地图
🌳 自定义 Sitemap 文件
// static/sitemap.jsimport axios from 'axios'import moment from 'moment' // 时间转换const sitemap = []const lang = [ 'de', // 德语http://192.168.1.2:3000/zh-cn/sitemap/sitemap.xml 'en', 'es', 'fil', 'fr', // 法语 'hi', // 印地 'id', 'it', // 意大利 'ja', 'ko', // 韩语 'pt', // 葡萄牙语 'ru', 'th', 'vi', 'zh', 'zh-tw',]const tStart = new Date().getTime() - 51840000000const tEnd = new Date().getTime() + 1209600000const arrTime = []for (let i = tStart; i <= tEnd; i = i + 86400000) { arrTime.push('sitemap_' + moment(i).format('YYYYMMDD') + '_1') arrTime.push('sitemap_' + moment(i).format('YYYYMMDD') + '_2')}for (let i = 0; i < arrTime.length; i++) { const obj = { path: `/en/sitemap/${arrTime[i]}.xml`, // 生成的文件路径 hostname: '', // 网站的网址https://www.wikifx.com cacheTime: 1000 * 60 * 60 * 24, // 一天的更新频率,只在generate:false有用 gzip: true, // 生成.xml.gz的sitemap generate: false, exclude: [], // 排除不要的页面,这里的 路径是相对于hostname defaults: { changefred: 'always', lastmod: new Date(), }, routes: async () => { // 获取对应时间段的json文件 let URL = `https://xxxxxx/${arrTime[i]}_zh.json` const productList = await axios .get(URL) .then((res) => { const proList = res.data const siteArray = [] let siteObject = {} proList.forEach((element) => { siteObject = { url: element.u, changefred: 'daily', lastmod: element.d, } siteArray.push(siteObject) }) return siteArray }) .catch((err) => { console.log(err) return [] }) return productList }, } sitemap.push(obj)}export default sitemap
🌴 nuxt.config.js 中使用
import sitemap from './static/sitemap'export default { modules: ['@nuxtjs/sitemap'], sitemap,}
Table of Contents