Невозможно использовать сайт Гэтсби в автономном режиме - PullRequest
0 голосов
/ 30 апреля 2019

Я создал веб-сайт gatsby, но когда я пытаюсь использовать его в автономном режиме (путем прямой загрузки index.html в свой браузер), он не может загрузить файлы в папке активов, а ссылки на другие страницы не работают

работает в Windows: после установки гэтсби я сделал следующее:

gatsby new sample
cd sample
gatsby build

затем я пошел в файловый менеджер и открыл каталог sample / dist и дважды щелкнул по index.html (Chrome - мой браузер по умолчанию, но IE ведет себя так же)

В результате получилась наполовину загруженная веб-страница, на которой отсутствуют таблицы стилей, не работает JavaScript, изображения и ссылки.

Например, ссылка "about" на первой странице указывает на "D: / about" против ". \ About.html".

Есть ли способ заставить Гэтсби работать над созданием действительно автономного веб-сайта?

Ответы [ 3 ]

1 голос
/ 01 мая 2019

Я создал сайт gatsby, но когда я пытаюсь использовать его в автономном режиме (путем прямой загрузки index.html в мой браузер), он не может загрузить файлы в папке активов и ссылки на другие страницы.терпит неудачу

Gatsby создаст для вас приложение React, когда оно будет построено, а поскольку большинство приложений React используют клиентскую маршрутизацию, ваши ссылки не будут работать с file: // URLs.

После установки Gatsby CLI и построения вашего сайта с gatsby build вы должны запустить gatsby serve, который будет обслуживать index.html со статическим файловым сервером на вашей собственной машине.


Смотрите аналогичный ответ о create-реагировать-приложение здесь

1 голос
/ 01 мая 2019

Попробуйте использовать gatsby serve из корня вашего проекта.Serve раскручивает веб-сервер для обслуживания вашей сборки продукта.

Просмотрите документацию по CLI Gatsby на их сайте.

0 голосов
/ 01 мая 2019

К сожалению, Гэтсби на самом деле не настроен на это.Это генератор site , а не генератор page , и он ожидает жизни на сервере.В результате, когда файлы статичны, навигация не .

Поскольку я потратил некоторое время на эксперименты, это то, что НЕ работает:

Установка . в качестве pathPrefix в gatsby-config.js. Гэтсби позволяет установить префикс пути , который затем добавляется ко всем сгенерированным URL-адресам.К сожалению, этот префикс всегда так или иначе абсолютизируется.. преобразуется, например, в /..

Установка абсолютного пути к файлу на диске в виде pathPrefix. То же, что и выше - file:///path/to/file не сохраняется при сборке(приводит к file:/) и /path/to/file нарушает JavaScript.

Установка для pathPrefix фиктивного значения, например /NOTAPREFIX, и поиск-замена его в сгенерированных файлах. Снова ломает JavaScript.

Что-то, чего у меня нетпытался, но может получить где-то, будет отключить функцию одностраничного приложения. Возможно, как сообщается, , (или, может быть, с этим плагином? ), но нигде нет хороших пошаговых инструкций.

...