一文带你掌握nest.js访问静态资源

目录

前言

文件配置

 总结


前言

Nest的目标是成为一个与平台无关的框架。平台独立性使创建可重用的逻辑部分成为可能,开发人员可以在几种不同类型的应用程序中利用这些逻辑部分。从技术上讲,一旦创建了适配器,Nest就能够与任何Node HTTP框架一起使用。有两个开箱即用的HTTP平台支持:expressfastify

无论使用哪种平台,它都会公开自己的应用程序接口。

  • NestExpressApplication
  • NestFastifyApplication

当我们把这种类型传递时,我们的app对象上会具有专门针对该平台的方法。但是注意一点,除非实际想要访问底层平台 API否则无需指定类型。


文件配置

在昨天我们讲到nest.js文件上传 一文带你弄懂nest.js文件上传,我们拿到其中一个文件的路径试一下,我们要用到的是文件的path

  发现直接访问会报404错误

回到main.ts中配置一下,为nest指定我们要用的是Express,并且配置它的静态方法useStaticAssets()

它接受两个参数

  • path: 文件存放位置
  • options: 可选配置项 (用于匹配文件前缀)
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { NestExpressApplication } from '@nestjs/platform-express';

async function bootstrap() {
  const app = await NestFactory.create<NestExpressApplication>(AppModule);
  app.useStaticAssets('uploads', { prefix: '/uploads' })
  await app.listen(3000);
}
bootstrap();

可以看到options里面配置项还是比较多的 ,只挑几种解释一下

  • dotfile: 点阵文件是各种程序的配置文件,它们帮助这些程序管理其功能。例如.config .bash等
  • etag:etag是URL的tag,用来标示URL对象是否改变,可用于缓存
  • maxAge: Cache-Control header的指令,会告诉客户端 index.html 将被视为 100000 毫秒的“新鲜”,因此在 maxAge 之前没有必要再次向服务器询问该文件过去。 客户端在此期间保留此文件,它与服务器缓存无关。
  • extensions: 文件拓展名
  • redirect: 重定向,当我们访问一个url时,如果重定向可以帮我们跳转到对应的url地址
  • prefix: 路由前缀

 当我们配置好之后,再次访问已经可以了

 总结

访问静态资源的方法还是简单的,要注意的就是path要和存放的文件位置要一样。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值