Для генерации sitemap на React с использованием TypeScript, можно воспользоваться следующими шагами:
Шаг 1: Установка зависимостей
Первым шагом необходимо установить несколько зависимостей. Используйте следующую команду в терминале для установки зависимостей:
npm install --save-dev react-router-dom react-sitemap-generator
Шаг 2: Создание компонента Sitemap
Создайте новый компонент с названием Sitemap.tsx. В этом компоненте мы будем генерировать sitemap.
import React, { useEffect } from 'react'; import { generateSitemap } from 'react-sitemap-generator'; import { Link } from 'react-router-dom'; const Sitemap: React.FC = () => { useEffect(() => { generateSitemap( // Опции для генерации sitemap { baseUrl: 'https://example.com', ignoredRoutes: ['/ignore'], ignoredExtensions: ['.jpg', '.png', '.gif'], pagesConfig: { '/': { priority: '0.8', changefreq: 'daily', }, '/about': { priority: '0.5', changefreq: 'daily', }, '/contact': { priority: '0.3', changefreq: 'weekly', }, }, } ); }, []); return ( <h1> Sitemap generated! You can find it <Link to="/sitemap.xml">here</Link>. </h1> ); }; export default Sitemap;
Шаг 3: Подключение компонента Sitemap
Podłasz do вашего приложения компонент Sitemap используя React Router.
import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import Sitemap from './components/Sitemap'; const App: React.FC = () => { return ( <Router> <Switch> <Route path="/sitemap.xml"> {/* Компонент Sitemap */} <Sitemap /> </Route> {/* Остальные маршруты вашего приложения */} </Switch> </Router> ); }; export default App;
Шаг 4: Генерация sitemap.xml
Вызовите ваше приложение и перейдите по маршруту /sitemap.xml
. Когда вы открыли этот маршрут, компонент Sitemap будет вызван, и sitemap.xml будет сгенерирован согласно вашим настройкам.
В итоге, приложение будет содержать компонент Sitemap, который будет генерировать sitemap.xml при посещении маршрута /sitemap.xml
. Вы можете определить настройки для каждой страницы в свойстве pagesConfig
объекта опций. Также, вы можете игнорировать определенные маршруты или расширения файлов с помощью свойств ignoredRoutes
и ignoredExtensions
.
Этот метод является только одним из возможных вариантов генерации sitemap на React с использованием TypeScript. По мере развития сообщества React и TypeScript могут появляться и другие инструменты и подходы для решения этой задачи.