Я хотел бы знать, как использовать скрипт «npm start» create-реагировать на приложение, когда разработка происходит на удаленном хосте.
Nginx работает как обратный прокси. Внешний URI выглядит так:
https://my-dev-box/my-cra
для прокси-сервера:
http://localhost:3000
Приложение CRA является статическим (т.е. без вызовов API).
Ошибки, появляющиеся в консоли веб-разработчика браузера, - 404, связанные с /static/js/bundle.js и favicon. Страница index.html приложения обслуживается с ответом 200.
Когда я собираю приложение, «npm build» создает файл index.html с правильными путями (предоставлено параметром «homepage» в package.json). Я просмотрел документацию / тикеты, связанные с "Invalid Host Header" и "DANGEROUSLY_DISABLE_HOST_CHECK", но не нашел комбо, которое работает для меня.
Мне кажется, что фундаментальная проблема заключается в том, что «npm start», похоже, не знает (как «npm build»), что WebDevServer находится за прокси-сервером и, следовательно, не создает правильные пути для ресурсов.
Итак, чтобы переформулировать вопрос, кто-нибудь знает, как заставить "npm start" работать хорошо за обратным прокси-сервером на удаленном сервере разработки. (использованная версия create-реакции-приложения: 1.5.2)
(Примечание: приложение отлично работает за прокси при использовании «сборки npm».)
Обновление: предоставлено этим вопросом Я нашел этот комментарий в "webpack.config.dev.js":
// Webpack uses `publicPath` to determine where the app is being served from.
// In development, we always serve from the root. This makes config easier.
const publicPath = '/';
что, я думаю, означает, что то, что я хочу сделать, не будет таким практичным, если я не откажусь от проекта. (Что я немного неохотно делаю - причина использования create-Reaction-app - новизна React.)