NestJs 使用总结

(NestJS)是一个框架,构建高效、可扩展节点。js服务器端应用程序。它使用先进的JavaScript,构建和完全支持打印稿(但仍使开发人员能够在纯JavaScript代码)和结合元素的OOP(面向对象编程),FP(函数式编程), FRP(功能性反应性编程)。

NestJs 文档
NestJs中文 文档

File Upload 文件上传

1、在controller里面写路由和逻辑

@Post('/upload')
    @UseInterceptors(FileInterceptor('file'))
    async uploadFile(@UploadedFile() files) {
        return files
    }

2、在AppModule 里面使用MulterModule()设置文件最终默认的存放路径。

@Module({
    imports: [
        MulterModule.register({
            dest: 'uploads'
        }),
        CatsModule
    ],
    controllers: [AppController, CatsController],
    providers: [AppService],
})
export class AppModule { }

注意 返回的文件路径我们选择Express来设置静态文件的存放地址

import { NestExpressApplication } from '@nestjs/platform-express'

3、在main.ts里面 改造原理的文件。NestFactory.create()方法是个范型类。可以把我们的 NestExpressApplication 传到范型约束里面。
然后使用useStaticAssets()去设置静态资源的访问路径。
使用setBaseViewsDir() 设置视图的模版文件。

const app = await NestFactory.create<NestExpressApplication>(AppModule);
    app.useStaticAssets(join(__dirname, '..', 'uploads'), {
        prefix: '/uploads'
    })
    app.setBaseViewsDir(join(__dirname, '..', 'views'))
    app.setViewEngine('hbs')
posted @ 2020-12-29 17:12  boygdm  阅读(1001)  评论(0编辑  收藏  举报