Использование nodejs express в качестве основного приложения и реагирование в подпапке/поддомене

#node.js #reactjs #react-native

Вопрос:

Я хочу использовать оба nodejs и реагировать на одном сервере.

Основное приложение(/) находится в nodejs с express, подпапка содержит react-приложение. Подпапка: {путь}/react-приложение, которое уже создано и содержит папку сборки.

Если я использую react в качестве основного приложения таким образом(react становится основным приложением):

 app.use(express.static(path.join(__dirname, 'react-app', 'build')));
 

А затем вызовите основное приложение с помощью вложенной папки:

 app.get('/subfolder', (req, res) => {
    res.send('Main app folder...')
});
 

Затем эта функция повторяется в главном каталоге приложений({путь}), следовательно, приложение работает(по крайней мере, отображается содержимое HTML, я не тестировал сам серверный сервер узла) как вторичная/вложенная папка.

Проблема в том, что я хочу сделать обратное, и это не работает, даже если я попробовал это многими способами, как показано ниже:

1)

 app.use('/react', express.static(path.join(__dirname, 'react-app', 'build')));
 

Ошибка: не удается получить /отреагировать

  1. использование маршрутизатора

    var маршрутизатор = экспресс.Маршрутизатор(); маршрутизатор.использовать(экспресс.статический(путь.присоединиться(__имя файла, ‘реагировать-приложение’, ‘сборка’))); приложение.использовать(‘/реагировать’, маршрутизатор); маршрутизатор.получить(‘/’ ……… Отправить файл(‘index.html’)

Ошибка: Возвращает страницу пустой, что означает, что react не выполняется, так как, если я помещу в нее пример текста index.html файл, который он показывает

У кого-нибудь есть решение? заранее спасибо Также, если возможно, я хочу знать, будет ли так, как вы это делаете, также работать с использованием экспресс-поддомена и маршрутизатора (приложение.используйте(поддомен («реагировать»), маршрутизатор));

Комментарии:

1. Есть ли у вас веская причина для создания такого приложения ? Вы должны разделить оба проекта на два отдельных проекта и разместить их на двух разных серверах. С этим было бы легче справиться.