React app生成sitemap
安装node
npm install sitemap axios
写一个sitemap generator, 例子
const { SitemapStream, streamToPromise } = require('sitemap');
const { createWriteStream } = require('fs');
const { resolve } = require('path');
const axios = require('axios');
async function generateSitemap() {
const links = [
// Array of your website's URLs
{ url: '/', changefreq: 'weekly', priority: 1.0 },
{ url: '/about', changefreq: 'weekly', priority: 0.8 },
// Add more URLs as needed
];
// Create a new sitemap stream
const stream = new SitemapStream({ hostname: 'https://www.example.com' });
// Generate sitemap by adding each link to the stream
links.forEach((link) => {
stream.write(link);
});
stream.end();
// Convert the stream to a promise
const sitemap = await streamToPromise(stream);
// Save the sitemap to a file
const filePath = resolve(__dirname, 'sitemap.xml');
const writeStream = createWriteStream(filePath);
writeStream.write(sitemap.toString());
writeStream.end();
console.log(`Sitemap generated successfully at ${filePath}`);
}
// Call the generateSitemap function
generateSitemap();
最后运行:
node sitemapGenerator.js
sitemap.xml就会生成到指定路径,一般在public目录下