Мы боролись с этим уже пару дней. См. Здесь: как избежать HTTP-кода состояния 404. При ошибке nuxt. vue
Решение, которое прекрасно работает в dev, заключается в том, чтобы проксировать все эти псевдо-маршруты. Не больше 404, и страница загружается нормально, но .... при развертывании в Heroku страница необъяснимо отправляется в виде файла .gz!
Вот код промежуточного программного обеспечения:
const httpProxy = require('http-proxy');
const proxy = httpProxy.createProxyServer();
export default (req, res, next) => {
if (req.url.startsWith('/PROXIED/') || req.url == '/') {
next();
} else {
proxy.once('proxyRes', (proxyRes, _req, _res) => {
// proxyRes.writeHead(200, null, {
// 'Content-Type': 'text/html'
// });
proxyRes.pipe(_res);
});
const target = `${serverUrl}/PROXIED`;
proxy.web(req, res, {
target,
selfHandleResponse: true
}, next);
}
};
Приложение работает в режиме SSR, если это что-то меняет.
Если у кого-то есть предложения, как правильно получить маршрут типа "/ pseudo-route", используя Nuxt, без отправки статус 404, и желательно без необходимости использовать ошибку. vue ... Я хотел бы услышать это. Подсказка: маршруты Dynami c не являются ответом.