nestjs swagger部署vercel后资源缺失

133 阅读1分钟

情况

使用@nestjs/swagger撰写api文档,本地打包预览正常,上传部署报错: swagger-ui.css等资源缺失

解法

使用customCssUrlcustomJs动态注入资源

const CSS_URL = [
  'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.18.2/swagger-ui.min.css',
];

const JS_URL = [
  'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.18.2/swagger-ui.min.js',
  'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.18.2/swagger-ui-bundle.min.js',
  'https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.18.2/swagger-ui-standalone-preset.min.js',
];


SwaggerModule.setup('doc', app, document, {
    jsonDocumentUrl: 'doc/json',
    customCssUrl: CSS_URL,
    customJs: JS_URL,
  });

缺点:

  1. 依旧会报错
  2. 页面会出来慢一点

有其他解决方案可以分享交流下~

参考: Documentation | NestJS - A progressive Node.js framework