[Nest.js] 정적 페이지 제공

Woong·2022년 11월 29일
0

Nest.js, Node.js

목록 보기
8/30

설치

  • npm install @nestjs/serve-static

정적 페이지 제공

  • ServeStaticModule 을 통해 정적 페이지를 제공할 수 있다.
    • 루트 AppModuleServeStaticModule 을 import 하고
    • forRoot 메소드를 통해 경로 지정
      • rootPath 는 정적 파일들의 경로 (기본값은 client. 아래 예제에선 static)
    • 기본 renderPath 는 * (모든 경로) 이고, 기본적으로 index.html 을 응답
      • 기타 옵션은 여기 참조
import { Module } from '@nestjs/common';
import { ServeStaticModule } from '@nestjs/serve-static';
import { join } from 'path';
import { AppController } from './app.controller';

@Module({
  imports: [
    ServeStaticModule.forRoot({
      rootPath: join(__dirname, '..', 'static'),
      exclude: ['/api*'],
    }),
  ],
  controllers: [AppController],
})
export class AppModule {}
  • 정적 페이지 서빙을 위한 Module 을 따로 정의하고 AppModule 에서 import 하면 보다 간결해진다.
@Module({
  imports: [
    ServeStaticModule.forRoot({
      rootPath: join(__dirname, '../../', 'static'),
      exclude: ['/api*'],
    }),
  ]
})
export class StaticPageModule { }
@Module({
  imports: [
    ...
    StaticPageModule, 
    ...
  ],
  ..
})
export class AppModule {
  ...
 }

reference

0개의 댓글