feat: add backend-mock app
This commit is contained in:
51
apps/backend-mock/src/main.ts
Normal file
51
apps/backend-mock/src/main.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import type { AppConfig } from '@/types';
|
||||
|
||||
import process from 'node:process';
|
||||
|
||||
import { HttpExceptionFilter } from '@/core/filter';
|
||||
import { TransformInterceptor } from '@/core/interceptor';
|
||||
import { ParamsValidationPipe } from '@/core/pipe';
|
||||
import { type LogLevel } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { NestFactory, Reflector } from '@nestjs/core';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
import { JwtAuthGuard } from './core/guard';
|
||||
|
||||
async function bootstrap() {
|
||||
const debug: LogLevel[] = process.env.DEBUG ? ['debug'] : [];
|
||||
const loggerLevel: LogLevel[] = ['log', 'error', 'warn', ...debug];
|
||||
|
||||
const app = await NestFactory.create(AppModule, {
|
||||
cors: true,
|
||||
logger: loggerLevel,
|
||||
});
|
||||
|
||||
// 获取 ConfigService 实例
|
||||
const configService = app.get(ConfigService);
|
||||
|
||||
// 使用 ConfigService 获取配置值
|
||||
const port = configService.get<AppConfig['port']>('port') || 3000;
|
||||
const apiPrefix = configService.get<AppConfig['apiPrefix']>('apiPrefix');
|
||||
|
||||
// 全局注册拦截器
|
||||
app.useGlobalInterceptors(new TransformInterceptor());
|
||||
|
||||
const reflector = app.get(Reflector);
|
||||
app.useGlobalGuards(new JwtAuthGuard(reflector));
|
||||
|
||||
// 全局注册错误的过滤器
|
||||
app.useGlobalFilters(new HttpExceptionFilter());
|
||||
|
||||
// 设置全局接口数据校验
|
||||
app.useGlobalPipes(new ParamsValidationPipe());
|
||||
|
||||
app.setGlobalPrefix(apiPrefix);
|
||||
|
||||
await app.listen(port);
|
||||
|
||||
console.log(
|
||||
`Application is running on: http://localhost:${port}${apiPrefix}`,
|
||||
);
|
||||
}
|
||||
bootstrap();
|
Reference in New Issue
Block a user