Страница ошибки не работает в производстве для экспорта Sapper - PullRequest
1 голос
/ 14 июля 2020

Обычно несуществующие маршруты перехватываются при использовании команды dev и отображается страница error / 404. Но при использовании export и загрузке сгенерированных файлов на веб-сервер это не работает. Вместо этого отображается страница индекса, но ни один из logi c не работает, как, например, нажатие на другую ссылку для навигации.

Раньше у меня в коде был перехват всех слагов, но я удалил и удалил все файлы которые были созданы командой export, чтобы убедиться, что они удалены. Может в этом проблема? Как бы выглядел файл слагов?

1 Ответ

2 голосов
/ 14 июля 2020

При использовании sapper export скрипт запускается с вашей индексной страницы и посещает (и отображает) все страницы, доступные по ссылкам на странице. Таким образом, у вас есть stati c версия вашего веб-сайта, которую вы загружаете на свой хостинг. Он заменяет обычно выполняемый sapper рендеринга на стороне сервера, но только для первой страницы, которую посещает пользователь, все остальные начнут работать в обычном режиме.

Поскольку страница 404 отображается, когда пользователь переходит в то место, которое не существует у вас (обычно) не будет ссылки, и поэтому скрипт не будет отображать эту страницу.

Чтобы sapper также сканировал эту страницу, вы должны добавить ее как точку входа

In package.json

"export": "sapper export --entry "/ /404""

Этот дополнительный параметр укажет скрипту начать с / (основной индексный файл) и снова выполнить весь процесс, начиная с / 404 (которого не должно существовать и, следовательно, вывести страницу с ошибкой)

...