Nestjs中默认的静态web目录为statics目录,可以存放图片、CSS、JavaScript文件,如果您想自定义静态web目录的话通过app.useStaticAssets('public');
来配置
官方文档:https://docs.nestjs.com/techniques/mvc
NestJS中配置静态资源目录完整代码:import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { NestExpressApplication } from '@nestjs/platform-express'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.useStaticAssets('public'); await app.listen(3000); } bootstrap();
在根目录新建public目录,然后在目录里面保存一个图片比如1.jpg,这样就可以通过http://localhost:3000/1.jpg 来访问图片。
我们也可以配置虚拟目录,比如我们想通过 http://localhost:3000/static/1.jpg 来访问public目录里面的文件,这时候代码如下:
app.useStaticAssets(join(__dirname, '..', 'public'),{ prefix: '/static/', //设置虚拟路径 });
完整代码:
import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { NestExpressApplication } from '@nestjs/platform-express'; import {join} from 'path'; async function bootstrap() { const app = await NestFactory.create(AppModule); // app.useStaticAssets('public'); app.useStaticAssets(join(__dirname, '..', 'public'),{ prefix: '/static/', //设置虚拟路径 }); await app.listen(3000); } bootstrap();
这个时候我们就可以使用 http://localhost:3000/static/1.jpg 来访问public目录里面的文件