Чтобы запустить приложение React в подкаталоге, вы можете использовать несколько методов. Вот несколько вариантов:
-
Использование поля
homepage
в package.json: в файлеpackage.json
вашего приложения React вы можете указать базовый URL-адрес вашего приложения. используя поледомашняя страница
. Установите значение пути к подкаталогу, в котором вы собираетесь развернуть свое приложение.{ "name": "my-react-app", "version": "1.0.0", "homepage": "/subdirectory", // ... }
После внесения этого изменения создайте свое приложение, используя
npm run build
илиyarn build
. Сгенерированные статические файлы будут иметь правильные ссылки на ресурсы и маршруты в подкаталоге. -
Использование React Router. Если ваше приложение использует React Router для маршрутизации, вы можете установить свойство
basename
в компонентеBrowserRouter
.import { BrowserRouter } from 'react-router-dom'; ReactDOM.render( <BrowserRouter basename="/subdirectory"> <App /> </BrowserRouter>, document.getElementById('root') );
Это гарантирует, что все маршруты относятся к подкаталогу.
-
Использование конфигурации на стороне сервера. Если вы используете сервер для обслуживания своего приложения React, вы можете настроить сервер для правильной обработки запросов к подкаталогу. Например, если вы используете Express.js, вы можете определить обработчик маршрута для пути к подкаталогу и соответствующим образом обслуживать приложение.
const express = require('express'); const app = express(); app.use('/subdirectory', express.static('build')); app.listen(3000, () => { console.log('Server is running...'); });
Этот подход позволяет управлять конфигурацией подкаталога на уровне сервера.
Это несколько методов, которые вы можете использовать для запуска приложения React в подкаталоге. Не забудьте настроить путь к подкаталогу и внести все необходимые изменения в зависимости от настроек вашего конкретного проекта.