Проблема развертывания с помощью react, nodejs, express в продакшене

Это мой первый проект с использованием nodejs и React, я работал с приложением, следуя этому этот учебник. Он отлично работает localhost

но не работаю в производственном режиме. Я создал сборку и сгенерировал в ней каталог с именем "dist". Я переместил все на рабочий сервер из папки "Dist".

Но маршрут узла не работает, он говорит об ошибке 404. Как развернуть nodejs с реагированием на производство?

Помогите, пожалуйста, избавиться от него?

Спасибо

Вы указали статическую папку, которая ведет к загруженной папке dist?

Bernhard 22.08.2018 13:33

@Bernhard, да я уточнил. Frond end работает нормально с React. Но проблема только в backend node js. Вот мой файл server.js gist.github.com/gmangandan/1c171c523b4b92aad5b3cbc94289f41f

Dinesh 22.08.2018 13:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
70
1

Ответы 1

Ваш внутренний сервер не будет знать, как обрабатывать маршруты на вашем клиенте или знать расположение вашей "клиентской" папки, если у вас есть папка dist, вам нужно будет сделать что-то похожее на это:

if (process.env.NODE_ENV === 'production') {
  app.use(express.static('dist'));
  const path = require('path');
  app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, 'dist', 'index.html'));
 });
}

Надеюсь это поможет.

Спасибо за ответ. Я пробовал, но проблема все еще та же. Я думаю, я неправильно настроил на живом сервере. Полностью запутался в конфигурации на продакшене. Вот моя структура папок на живом сервере ibb.co/iabfNe. Не могли бы вы посоветовать мне, что я делаю не так? Спасибо

Dinesh 23.08.2018 08:02

Вам нужно будет опубликовать свой код для server/index.js, а также server.js

Intellidroid 23.08.2018 09:17

Код здесь index.js и server.js

Dinesh 23.08.2018 09:49

Как вы устанавливаете NODE_ENV в производственной версии?

Intellidroid 23.08.2018 14:09

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