NodeJS: URL дружественный показать пустые страницы - PullRequest
1 голос
/ 25 апреля 2019

Я разрабатываю веб-страницу с Node.js и React.js, и сейчас мой сайт имеет следующие URL-адреса:

/liga-femenina-1
/liga-femenina-1/equipos
/liga-femenina-1/resultados
/liga-femenina-1/estadisticas
/liga-femenina-1/buscador
/liga-femenina-2
/liga-femenina-2/equipos
/liga-femenina-2/resultados
/liga-femenina-2/estadisticas
/liga-femenina-2/buscador

Чтобы определить эти URL-адреса, я определил это регулярное выражение:

\/liga-femenina-(1|2)\/?\w*

Это регулярное выражение правильно определяет все URL-адреса.Вы можете проверить это здесь:

enter image description here

Я использую это регулярное выражение для обнаружения всех этих URL в моем файле rout.js с этим кодом:

import {Router} from "express";
import path from "path";

const router = Router();
router.get(/\/liga-femenina-(1|2)\/?\w*/, (req, res) => {
    res.sendFile(path.resolve(__dirname, "../../../dist/index.html"));
});

С этим кодом, если я получаю прямой доступ к URL-адресу, как http://localhost:4000/liga-femenina-1 или http://localhost:4000/liga-femenina-2, работает нормально.Но если я попытаюсь получить доступ к этим другим URL-адресам:

/liga-femenina-1/equipos
/liga-femenina-1/resultados
/liga-femenina-1/estadisticas
/liga-femenina-1/buscador
/liga-femenina-2/equipos
/liga-femenina-2/resultados
/liga-femenina-2/estadisticas
/liga-femenina-2/buscador

Тогда веб-страница не отображается.Веб-страница отображается пустым.

Как определить все URL-адреса?Что я делаю не так?

Редактировать I:

Я проверил, какой запрос получает сервер, когда страница отображается, а когда не отображается.Например, если я запрашиваю этот URL: http://localhost:4000/liga-femenina-1 страница отображается и на сервере у нас есть:

GET /liga-femenina-1 200 1.135 ms - 642
GET /assets/js/bundle.js 304 0.549 ms - -

Но если я запрашиваю этот URL: http://localhost:4000/liga-femenina-1/equipos,страница не отображается, и на сервере мы получили:

GET /liga-femenina-1/equipos 200 0.950 ms - 642
**GET /liga-femenina-1/assets/js/bundle.js 404 0.607 ms - 174**

В первом случае, когда сервер будет искать файл bundle.js, он делает это из / assets / js /bundle.js и рендер веб-страницы.Но во втором случае сервер будет искать файл bundle.js в каталоге / liga-femenina-1 / assets / js / bundle.js.И этот каталог не существует.

Поэтому, почему в первом случае сервер правильно обращается к файлу, а во втором - неправильно?

Поэтому, почему вв первом случае сервер правильно обращается к файлу, а во втором - неправильно?

...