Вы можете разделить приложение React на несколько одностраничных приложений (SPA). Crisp React шаблон поддерживает эту функцию. Хотя он использует TypeScript.
Мой вопрос сейчас таков: (Как) возможно ли получить сборку приложения с двумя файлами index.html.
Два файла .html могут называться по-разному. Вы можете иметь один SPA под названием admin
с точкой входа (также называемой целевой страницей) admin.html
. И еще один SPA под названием school
с точкой входа school.html
. Все, что вам для этого нужно, - это изменить SPA Configuration блок:
var SPAs = [
new SPA({
name: "admin",
entryPoint: "./src/entrypoints/first.tsx",
redirect: false
}),
new SPA({
name: "school",
entryPoint: "./src/entrypoints/second.tsx",
redirect: true
})
];
SPAs.appTitle = "SchoolApp";
и выполнить yarn build
. Оба SPA созданы для вас с файлами .html. Конечно, вы можете написать admin.tsx, school.tsx
и использовать его вместо first.tsx, second.tsx
.
, поэтому «admin.school.com» указывает на «admin.html», а «school.com» указывает на «index.html ".
Это нереактивная часть. Вы создаете две записи DNS для «admin.school.com» и «school.com», которые указывают на один и тот же IP-адрес вашего веб-сервера. Предположим, вы используете NodeJS / Express. В своем обработчике маршрута для /
, например, app.get("/", (req, res, next) => { ... }
, изучить req.hostname
и в зависимости от того, является ли он "admin.school.com" или "school.com", этот обработчик будет обслуживать admin.html
или school.html
.
.