通过NestJs Docker化的应用程序为静态资产提供服务

时间:2019-04-15 17:24:19

标签: node.js azure docker nestjs

我正在寻找一种方法来在Azure中的dockerized NestJs应用程序中为compodoc生成的静态资产提供服务。 我正在使用app.useStaticAssets(path.join(__dirname, '\\documentation'));将该文件夹映射为公用文件夹。

..显然它可以在我的机器上工作...

enter image description here

但是不幸的是,天青我只收到 404

enter image description here

api可以正常工作:

enter image description here

我做错了什么?

静态文件位于专用文件夹文档中:

enter image description here

引导应用程序的main.ts:

async function bootstrap() {
  const app = await NestFactory.create<NestExpressApplication>(ApplicationModule);

  app.useGlobalPipes(new ValidationPipe({ transform: true } as ValidationPipeOptions));

  SwaggerModule.setup('api', app, SwaggerModule.createDocument(app, new DocumentBuilder()
    .setTitle('N Playground')
    .setDescription('A NestJs Playground API')
    .setVersion('0.1')
    .addTag('player')
    .build()));

  app.useStaticAssets(path.join(__dirname, '\\documentation'));
  app.useGlobalInterceptors(new StopWatchInterceptor());

  const port = 8080;
  app.listen(port, () => {
    console.log(`Application is listening on port ${port}`);

  });
}
bootstrap();

1 个答案:

答案 0 :(得分:1)

我对此进行了一些修改,并通过提交我所有的Angular源文件以及文档文件夹并更新了“应用程序设置”中的“虚拟路径”,使其进入了App Service。

应用设置

app settings

Compodoc

enter image description here