#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 } };
После этого все сработало идеально.