Обслуживать статические ресурсы с помощью приложения NestJS, настроенного на dockerized

#node.js #azure #docker #nestjs

#node.js #azure #докер #nestjs

Вопрос:

Я ищу способ обслуживать статические ресурсы, созданные compodoc, в докеризованном приложении NestJS в Azure. Я использую app.useStaticAssets(path.join(__dirname, '\documentation')); для сопоставления папки как общедоступной папки.

.. Очевидно, это работает на моей машине…

введите описание изображения здесь

но, к сожалению, в Azure я получаю только 404

введите описание изображения здесь

api работает так, как ожидалось:

введите описание изображения здесь

Что я делаю не так?

Статические файлы находятся в специальной папке documentation:

введите описание изображения здесь

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:

Я немного взломал это и запустил его в службу приложений, передав все мои исходные файлы Angular вместе с папкой документации и обновив виртуальный путь в настройках приложения.

Настройка приложения

настройки приложения

Compodoc

введите описание изображения здесь

Комментарии:

1. Спасибо за ваше время, потраченное на мои проблемы, я только что обнаружил, что я обслуживаю весь свой контент по http, так что это был ложный флаг, извините, еще раз спасибо