Как обслуживать несколько СПА-салонов в nestjs с помощью fastify

#nestjs #nestjs-fastify

Вопрос:

Конфигурация, упомянутая ниже, абсолютно нормально работает с express, но при использовании с fastify она выдает ошибку.

 export const serveStaticModule_one: ServeStaticModuleOptions = {  rootPath: join(process.cwd(), 'one') };  export const serveStaticModule_two: ServeStaticModuleOptions = {  rootPath: join(process.cwd(), 'two'),  renderPath: '/two' };  export const serveStaticModule_three: ServeStaticModuleOptions = {  rootPath: join(process.cwd(), 'three'),  renderPath: '/three',  serveStaticOptions: {  index: 'client.html'  } };  
используемая упаковка версия
@nestjs/платформа-fastify 8.2.3
@nestjs/подача-статическая 2.2.2
fastify-статический 4.5.0

Точная ошибка заключается в том, что декоратор «sendFile» уже добавлен
Я попытался передать эти объекты одному ServeStaticModule.forRoot() и нескольким, но ни один из них не работает.

Ответ №1:

Я нашел решение, создав новый тип.

 type FastifyServeStaticModuleOptions = _ServeStaticModuleOptions amp; {  serveStaticOptions: {  decorateReply: boolean;  }; };  

затем я создал объект, подобный этому:

 export const serveStaticModule_one: FastifyServeStaticModuleOptions = {  rootPath: join(process.cwd(), 'one'),  serveStaticOptions: {  decorateReply: false  } };  

После этого все сработало идеально.