0

下面提到的配置在 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/platform-fastify 8.2.3
@nestjs/serve-static 2.2.2
fastify-静态 4.5.0

确切的错误是已经添加了装饰器'sendFile'
我尝试将这些对象传递给单个对象ServeStaticModule.forRoot()和多个对象,但它们都不起作用。

4

1 回答 1

0

我通过创建新类型找到了解决方案。

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

然后我创建了这样的对象:

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

在此之后它工作得很好。

于 2021-11-29T17:19:19.537 回答