React-snap иногда сканирует только одну страницу

Развертывание react-snap в приложении CRA прошло в основном безболезненно, что дало огромный прирост скорости загрузки страницы и не требовало специальной настройки.

Тем не менее, я иногда вижу проблемы с развертыванием (как локально, так и из netlify), когда сканируется только одна страница, а затем появляется завершение. Нравится:

React-snap иногда сканирует только одну страницу

Нормальный результат (возможно, в 50% случаев) означает сканирование примерно 50 страниц, после чего все остальное успешно завершается.

Я пытался ограничить параллелизм до 1 без улучшения. Какие другие инструменты я могу использовать, чтобы выяснить эту проблему, или параметры конфигурации, которые я могу включить, чтобы исправить это?

Возможно ли, что это состояние гонки? У вас есть динамический импорт, который может привести к задержке рендеринга вашей страницы? Ака ссылки не отображаются на первой странице?

Jonathan 12.03.2019 13:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
2 065
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Выяснил это: Webpack устанавливал PUBLIC_URL для рабочего домена, а новые развертывания искали в этом домене JS-файл, который выглядел как main.1234abcd.js, используя хэш js-файла для очистки кеша. Этого не было в рабочем домене до его развертывания, поэтому загрузка страницы не удалась, и ссылки не были обнаружены.

Установка ссылок JS на корневой URL-адрес (т. е. /static/js/main.1234abcd.js) правильно загрузила JS с сервера, созданного с помощью моментальных снимков, и позволила правильно его сканировать.

Кроме того, было полезно провести отладку через раздел сканирования привязки в react-snap здесь: https://github.com/stereobooster/react-snap/blob/master/src/puppeteer_utils.js#L108-L119

как бы вы установили ссылки JS на корневой URL-адрес?

Uros Randelovic 30.11.2020 16:31

Другие вопросы по теме