#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')));
Ошибка: не удается получить /отреагировать
- использование маршрутизатора
var маршрутизатор = экспресс.Маршрутизатор(); маршрутизатор.использовать(экспресс.статический(путь.присоединиться(__имя файла, ‘реагировать-приложение’, ‘сборка’))); приложение.использовать(‘/реагировать’, маршрутизатор); маршрутизатор.получить(‘/’ ……… Отправить файл(‘index.html’)
Ошибка: Возвращает страницу пустой, что означает, что react не выполняется, так как, если я помещу в нее пример текста index.html файл, который он показывает
У кого-нибудь есть решение? заранее спасибо Также, если возможно, я хочу знать, будет ли так, как вы это делаете, также работать с использованием экспресс-поддомена и маршрутизатора (приложение.используйте(поддомен («реагировать»), маршрутизатор));
Комментарии:
1. Есть ли у вас веская причина для создания такого приложения ? Вы должны разделить оба проекта на два отдельных проекта и разместить их на двух разных серверах. С этим было бы легче справиться.