Я бы рекомендовал следовать замечательной статье Бо об обслуживании СПА.Настройка имеет в виду Angular, но для приложения React то же самое.
Gist
Определите функцию промежуточного программного обеспечения, которая перенаправляет все маршруты, кроме /api
, на ваш index.html
.
@Middleware()
export class FrontendMiddleware implements NestMiddleware {
use(req, res, next) {
const { url } = req;
if (url.indexOf('/api') === 1) {
next();
} else {
res.sendFile(resolvePath('index.html'));
}
}
}
Зарегистрируйте его для всех маршрутов в вашем AppModule
:
export class ApplicationModule implements NestModule {
configure(consumer: MiddlewaresConsumer): void {
consumer.apply(FrontendMiddleware).forRoutes(
{
path: '/**',
method: RequestMethod.ALL,
},
);
}
}