React и приложение Express, работающее на Elasti c Beanstalk, не может получить маршрут после обновления страницы - PullRequest
0 голосов
/ 02 марта 2020

У меня есть приложение React / Express, работающее на экземпляре Elasti c Beanstalk EC2. Приложение работает нормально, а маршрутизация внутри приложения работает как положено. Однако каждый раз, когда я перезагружаю / обновляю sh окно, я вижу эту ошибку:

{"genericError":"The requested route does not exist","status":404}

И я не могу за всю жизнь понять это. Я даже не уверен, что я должен опубликовать, поэтому я собираюсь опубликовать .elasticbeanstalk/config.yml здесь:

branch-defaults:
  development:
    environment: XX
    group_suffix: null
  master:
    environment: XX
    group_suffix: null
  production:
    environment: XX
    group_suffix: null
global:
  application_name: XX
  branch: null
  default_ec2_keyname: null
  default_platform: Node.js
  default_region: us-east-1
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: eb-cli
  repository: null
  sc: git
  workspace_type: Application

И .ebextensions/staticfiles.config:

option_settings:
  aws:elasticbeanstalk:container:nodejs:staticfiles:
    /public: /public

Пожалуйста, дайте мне знать если мне нужно опубликовать что-то более конкретное c. Спасибо за внимание, всегда ценю.

1 Ответ

0 голосов
/ 02 марта 2020

Это было решено. Я удалил универсальный маршрут на своем сервере Express, чтобы обработать файл build/index.html. Нашел в предыдущей ветке и понял, что случилось. Вот для кого-то еще в будущем:

Это объявляется после ваших маршрутов и перед вашими обработчиками ошибок.

//Catch All Route
app.get('/*', (req, res) => {
  res.sendFile(path.join(__dirname, '../client/build/index.html'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...