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目录里面的文件