Swagger NestJs炫耀如何添加自定义favicon

Swagger NestJs炫耀如何添加自定义favicon,swagger,favicon,nestjs,Swagger,Favicon,Nestjs,我正在尝试将自定义favicon添加到我的NestJs文档中。但是,我对路径文件是如何解析的有点迷茫,不知道如何实现这一点 我正在使用nestjs/swagger模块版本3.1.0,并试图在初始化swagger模块时像这样传递路径文件 我的main.ts文件 SwaggerModule.setup('/v1/docs', app, document, { customCss: CUSTOM_STYLE, customSiteTitle: 'My API Documentation

我正在尝试将自定义favicon添加到我的NestJs文档中。但是,我对路径文件是如何解析的有点迷茫,不知道如何实现这一点

我正在使用nestjs/swagger模块版本3.1.0,并试图在初始化swagger模块时像这样传递路径文件

我的main.ts文件

SwaggerModule.setup('/v1/docs', app, document, {
    customCss: CUSTOM_STYLE,
    customSiteTitle: 'My API Documentation',
    customfavIcon: './public/favicon.jpg'
});
搜索了github问题,没有发现任何有用的东西。从代码中可以看出,我可以修改CSS样式,但我不知道如何定制favicon


感谢您的帮助

我已使用以下方法将自定义favicon添加到我的招摇文档中:

const app: NestExpressApplication = await NestFactory.create(...)
首先要确保的是,在您的
main.ts
中,应用程序使用以下内容初始化:

const app: NestExpressApplication = await NestFactory.create(...)
要提供静态内容,您必须使用
NestExpressApplication
初始化应用程序

下一步是允许嵌套应用程序在初始化后使用
main.ts
中的以下内容查找公共内容:

app.useStaticAssets(join(__dirname, '..', 'public'));
另外,在应用程序的根目录中创建一个公共目录,并将
favicon.jpg
文件粘贴到其中

现在是初始化
main.ts中的招摇过市的时候了

SwaggerModule.setup('/v1/docs', app, document, {
    customCss: CUSTOM_STYLE,
    customSiteTitle: 'My API Documentation',
    customfavIcon: '../favicon.jpg'
});

如果我们的
main.ts
位于应用程序根目录下的
src
文件夹中,您必须给出应用程序根目录的相对路径,如
./favicon.jpg

替代解决方案,只需托管您的favicon并使用外部url引用它即可

  SwaggerModule.setup('api', app, getSwaggerDocument(app), {
    ...
    customfavIcon:
      'https://[your-bucket-url].com/.../anything.png',
  });

你有为你的服务器设置静态资源吗?嘿,谢谢你的回复!我没有使用useStaticAssets函数。我现在已经添加了它。customFavIcon不应该是“./public/favicon.jpg”吗?不管怎样,我已经试过这两种方法,当你展示你的例子时,它们都会导致一个类型错误:GET 404(Not Found)。让我困惑的是/v1/docs和/v1/public如何一起处理请求。非常感谢您的帮助。如果您使用的是静态服务,那么您的URL应该是
GET localhost:3000/favicon.jpg
,通过像这样配置它,在Swagger选项:
customfavIcon:'/favicon.png'
。非常感谢。