React / React-Router на Heroku строит с пустыми файлами - PullRequest
0 голосов
/ 09 ноября 2018

У меня возникла проблема с развертыванием приложения «Реакция / Избыточность», использующего реагирующий маршрутизатор.Приложение было создано с использованием create-реагировать-приложение и heroku-buildpack-static .Я попытался развернуть приложение как в Netlify, так и в Heroku, и получаю ту же ошибку;пустая страница без ошибок, и Консоль инструментов разработчика показывает ошибку "Failed to load resource: the server responded with a status of 404 (Not Found)" для всех файлов, которые должны находиться в папке build.Проверка вкладки «Приложение» инструментов сборки показывает, что ни манифест, ни файлы сценариев, ни таблицы стилей не были правильно загружены на страницу (из-за ошибки при удаленной компиляции?).Папка сборки правильно скомпилирована локально, и приложение работает на моем компьютере.

Я думаю, что это проблема с маршрутизатором реакции, которая путает процесс сборки на heroku.Я прочитал это и это при развертывании, и ни одно из изменений не позволяет удаленной сборке правильно настроить статические страницы на index.html;каждый раз, когда они либо компилируются пустыми, либо если public/manifest.json изменяется на "start_url": ".", index.html перезаписывает все остальные файлы сборки.

Я попытался добавить файл static.json:

{
"root": "build/",
"clean_urls": false,
"routes": {
    "/**": "index.html"
    }
}

в корень приложения, но это тоже не помогло.

Кажется, что для героки отсутствуют инструкции по управлению сборкой, но я не знаю, что это такое.

Может кто-нибудь помочь с этим?Спасибо.

РЕДАКТИРОВАТЬ:

Вот шаги, которые я должен был сделать, чтобы получить работает на Heroku.Мне пришлось пересобрать его и не использовать пакет сборки create-реагировать-приложение, которое я попробовал в первый раз.Файл static.json, указанный выше, был требованием для пакета сборки, но он продолжал перезаписывать статические файлы в папке сборки файлом index.html.Так что я убрал это.

То, что сработало, следовало этому учебнику и модифицировалось по мере необходимости.Требовалось несколько вещей:

  1. вместо сервера, имеющего конечную точку app.get('/', function (req, res) { Я добавил подстановочный знак: app.get('/*', function (req, res) {.Это было из React Deployment Guidance

  2. create-Reaction-app настраивает manifest.json с "start_url": "." Я изменил это на "start_url": "./index.html"

  3. в package.json Я должен был убедиться, что домашняя страница была распознана как текущий файл: "hompage": "."

Это были шаги, необходимые для получения Herokuзагружать правильные файлы сборки и ничего не перезаписывать с помощью index.html.

В DevTool я все еще получаю интересное предупреждение: DevTools failed to parse SourceMap: https://cloze-maker.herokuapp.com/static/js/1.4929ae08.chunk.js.map

Но приложение работает.

Надеюсь, это поможет кому-то еще.

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