개발/프로젝트

[swagger] Uncaught ReferenceError: SwaggerUIBundle is not defined at window.onload

prpn97 2024. 10. 29. 12:16

문제

스웨거를 설치하고 세팅한 뒤 localhost 에서는 정상적으로 스웨거가 확인되나, 배포한 서버에서는 정상적으로 스웨거가 확인되지 않고 SwaggerUIBundle is not defined 오류가 확인되었다. 

 

해결 방법

 SwaggerModule.setup('api/docs', app, document, {
    swaggerOptions: {
      persistAuthorization: true,
    },
    customSiteTitle: 'API Docs',
    customfavIcon: '/favicon.ico',
    customJs: [
      'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.15.5/swagger-ui-bundle.min.js',
      'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.15.5/swagger-ui-standalone-preset.min.js',
    ],
    customCssUrl: [
      'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.15.5/swagger-ui.min.css',
      'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.15.5/swagger-ui-standalone-preset.min.css',
    ],
  });

SwaggerModule.setup의 4번째 인자인 options에 다음과 같이 세팅했고, 정상적으로 확인되었다. 

728x90