Обслуживание файлов сборки приложения create-response-app на сервере express - PullRequest
0 голосов
/ 03 мая 2020

Я хочу отправить файлы сборки моего приложения реакции на другое приложение express. Поэтому я скопировал все файлы stati c из папки сборки в папку publi c внутри моего приложения express и использовал.

app.use(express.static(path.join(__dirname, './public')));

app.get("/",(req,res)=>{
    res.send()}
    )

app.get("/differentRoute",(req,res)=>{
    res.send()}
    )

app.listen(4000)

Когда я делаю запрос на получение http://localhost: 4000 / моя страница реакции загружается отлично, однако, когда я делаю тот же запрос на http://localhost: 4000 / differentRoute , ничего не загружается, может кто-нибудь объяснить мне, как это работает?

1 Ответ

0 голосов
/ 03 мая 2020

Когда вы запрашиваете /, он находит файл index.html в каталоге publi c и обрабатывает его с помощью обработчика stati c.

Ничто так и не доходит до явного обработчика для /, поскольку маршрут stati c всегда перехватывает его первым.

Когда вы запрашиваете /differentRoute, в каталоге publi c нет соответствующего файла, поэтому запускается явный маршрут для этого. Вы вызываете res.send() без аргументов, что не имеет смысла.


Если вы хотите использовать маршрутизацию на основе URL и не хотите использовать рендеринг на стороне сервера, используйте HashRouter .

Если вы хотите иметь реальные пути для разных страниц в приложении, используйте рендеринг на стороне сервера (например, с Next. js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...