Я хочу обслужить еще одну статическую страницу для маршрута "/ 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
Вы также можете попробовать использовать другое приложение app.use на маршруте '/ about' для обслуживания статического файла, а затем использовать next () для вызова обратного вызова для отправки файла. Надеюсь это поможет. - Истина где-то там





Есть ли ошибки на стороне сервера?
У меня работает приведенный выше пример: https://runkit.com/dionnis/5ab936152f32d7001211d85f
Примечание: я заменил app.post('/getfrontpage' на app.get('/getfrontpage'
У меня нет ошибок, но я не вижу console.info ("здесь"), и я все еще вижу index.html вместо about.html, я думаю, что проблема с веб-пакетом, созданным " создать приложение для реагирования "
Webpack для «создания приложения для реагирования» и экспресс-приложение - это совершенно разные вещи. Можете ли вы сначала протестировать экспресс-приложение, вручную создав файл about.html и открыв его?
У меня есть файл about.html, но каждый раз, когда я пытаюсь получить "/ about", я все равно вижу содержимое index.html
Попробуйте изменить порядок app.get('/', и app.get('/about'stackoverflow.com/questions/32603818/… Кстати: не забывайте после любых изменений перезапустить сервер.
Изменение порядка не работает, но работает, если я полностью удалю app.get ('/')
Я думаю, что у меня проблема из-за этой строки: app.use (express.static (path.resolve (__ dirname, '..', 'build'))); но без него приложение вообще не работает
Собственно, ты прав. Наличие статического промежуточного программного обеспечения - вам вообще не нужно указывать страницу about.html, она должна работать без app.get('/about',
Привет, Трудно сказать. Я вижу, у вас есть реакция на фронтенд. Если вы не используете хэш-маршруты, ваши маршруты реакции должны быть точно такими же, как и у экспресс-API. Другой вариант может заключаться в том, чтобы передать массив ваших функций api в app.use на '/' и использовать next () для вызова следующей функции в стеке. - Истина где-то там