其实这也是一个NestJS环境变量配置的过程记录。
在开发过程中我产生了这样一个需求,我需要通过不同的脚本命令启动不同的环境。mock环境中,我要为前端提供虚拟数据;staging环境中,我要作为BFF为前端提供后台传输过来的数据。
在返回数据之前,我需要对数据进行统一格式化。于是我制作了一个拦截器RespTransformInterceptor
。
import {
CallHandler,
ExecutionContext,
NestInterceptor,
} from '@nestjs/common';
import {
Observable } from 'rxjs';
import {
map } from 'rxjs/operators';
@Injectable()
export class RespTransformInterceptor implements NestInterceptor {
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
return next.handle()