Маршрутизатор и промежуточное ПО Express React

У меня есть сервер / веб-сайт, на котором используется экспресс-доставка и реагирование. Я хотел бы обслуживать веб-сайт с помощью app.use(express.static()). Это работает так, как я хотел бы, за исключением того, что он мешает одному URL-адресу, обрабатываемому сервером, /parse-dashboard, который служит отдельным промежуточным программным обеспечением.

const path = require( 'path' )
var express = require('express');
var bodyParser = require('body-parser');
var basicAuth = require('express-basic-auth');
var ParseServer = require('parse-server').ParseServer;
var ParseDashboard = require('parse-dashboard');
var url = require('url');

var app = express();

var config = require( path.join( __dirname, 'config' ) )
app.use('/parse-dashboard', ParseDashboard(config.dashboard, true));

// Middleware for reading request body
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

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

app.set( 'port', process.env.PORT || 3000 )

const server = require( 'http' ).createServer( app )
server.listen( app.get( 'port' ), () => {
  console.info('express server listening on port ' + ( process.env.PORT || server.address().port ));
});

Когда я перехожу к /parse-dashboard, приложение React (которое использует react-router-dom) берет URL-адрес и показывает пустой маршрут. Как я могу вместо этого показать этот маршрут сервером?

что вы подразумеваете под "пустым маршрутом"? ваше приложение реагирования не монтируется в дом?

Daniel Lizik 19.09.2018 09:05

Под этим я подразумеваю, что реагирующий маршрутизатор выбирает маршрут для себя, даже если у меня нет Route, назначенного этому URL-адресу. Он просто показывает мою базовую страницу без содержания

Richard McCluskey 19.09.2018 19:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я понял это, и мальчик, я чувствую себя тупым. В папке приложения React, содержащейся в папке моего сервера (Express), у меня есть файл package.json для объявления зависимостей React. В файле package.json все еще содержался ключ proxy, который некоторые руководства упоминали для использования для получения вызовов api на ваш собственный сервер при локальной работе. После удаления этого ключа все работает, как ожидалось, /parse-dashboard обрабатывается экспрессом, а все остальное обрабатывается react-router-dom.

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