我想在Nest JS使用ServeStatic模块为React应用程序提供服务之前运行中间件。我无法在除“/”以外的任何静态路由上运行Nest中间件,甚至全局中间件main.ts
app.use([AuthRedirectMiddleware, VerifyMiddleware]);
// Or even a simple logger
app.use(function (req, res, next) {
console.log("LOG: ", req.originalUrl);
next();
});
// All 3 middlewares only run for / and /api*
// Does not run for /posts , /orders/123 (both are front end routes)
这仅适用于API路由和“/”
我的静态服务器模块是这样设置的:app.module.ts
@Module({
imports: [
ConfigModule.forRoot(),
ServeStaticModule.forRoot({
rootPath: clientPath,
exclude: ["/api*"],
}),
SharedModule,
...
],
controllers: [],
providers: [],
})
在main.js中,我还有一个用于API路由的globalPrefix,因此除了/api*
之外的所有url都将转到react应用程序
app.setGlobalPrefix("api");
1条答案
按热度按时间pgky5nke1#
尝试中间件模块:
my-middleware.module.ts
然后导入到
app.module.ts
中:这两个链接也可能有用: