Экспресс-маршруты для извлеченного приложения create-response-app

Я хочу обслужить еще одну статическую страницу для маршрута "/ about", Теперь у меня есть :

app.use(express.static(path.resolve(__dirname, '..', 'build')));

app.get('/', (req, res) => {
  res.sendFile(path.resolve(__dirname, '..', 'build', 'index.html'));
});
app.get('/about', function (req, res) {
    console.info("here")
  res.sendFile(path.resolve(__dirname, '..', 'build', 'about.html'));
});

и у меня также есть запрос на отправку

app.post('/getfrontpage', (req, res) => {
    console.info("FIRST PAGE", req.body.params.page)
});

Почтовый запрос работает, я использую axios для звонка, но маршрут "/ about" не работает, когда я меняю URL

Привет, Трудно сказать. Я вижу, у вас есть реакция на фронтенд. Если вы не используете хэш-маршруты, ваши маршруты реакции должны быть точно такими же, как и у экспресс-API. Другой вариант может заключаться в том, чтобы передать массив ваших функций api в app.use на '/' и использовать next () для вызова следующей функции в стеке. - Истина где-то там

henhen 07.09.2019 05:28

Вы также можете попробовать использовать другое приложение app.use на маршруте '/ about' для обслуживания статического файла, а затем использовать next () для вызова обратного вызова для отправки файла. Надеюсь это поможет. - Истина где-то там

henhen 07.09.2019 05:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
99
1

Ответы 1

Есть ли ошибки на стороне сервера?

У меня работает приведенный выше пример: https://runkit.com/dionnis/5ab936152f32d7001211d85f

Примечание: я заменил app.post('/getfrontpage' на app.get('/getfrontpage'

У меня нет ошибок, но я не вижу console.info ("здесь"), и я все еще вижу index.html вместо about.html, я думаю, что проблема с веб-пакетом, созданным " создать приложение для реагирования "

Elena 26.03.2018 20:27

Webpack для «создания приложения для реагирования» и экспресс-приложение - это совершенно разные вещи. Можете ли вы сначала протестировать экспресс-приложение, вручную создав файл about.html и открыв его?

DioNNiS 26.03.2018 21:46

У меня есть файл about.html, но каждый раз, когда я пытаюсь получить "/ about", я все равно вижу содержимое index.html

Elena 26.03.2018 22:58

Попробуйте изменить порядок app.get('/', и app.get('/about'stackoverflow.com/questions/32603818/… Кстати: не забывайте после любых изменений перезапустить сервер.

DioNNiS 26.03.2018 23:26

Изменение порядка не работает, но работает, если я полностью удалю app.get ('/')

Elena 26.03.2018 23:45

Я думаю, что у меня проблема из-за этой строки: app.use (express.static (path.resolve (__ dirname, '..', 'build'))); но без него приложение вообще не работает

Elena 27.03.2018 00:07

Собственно, ты прав. Наличие статического промежуточного программного обеспечения - вам вообще не нужно указывать страницу about.html, она должна работать без app.get('/about',

DioNNiS 27.03.2018 02:37

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