Гнездо Js Микросервис - из какого места я читаю файлы? - PullRequest
0 голосов
/ 31 марта 2020

Хотите знать, если кто-нибудь может помочь? Я пытаюсь научиться пользоваться Nest JS microservices . Мне удалось успешно получить микросервис с настройкой транспорта MQTT для получения событий от API. Я пытаюсь использовать pug для объединения информации о событии с файлом шаблона html. Однако pug не может найти файл шаблона ...

  this.logger.info(`Running from dir ${__dirname}`); // /usr/src/app/dist/apps/microservice
  const template = pug.compileFile('../templates/email.pug');

Я использовал регистратор для отображения __dirname , который ссылается на каталог dist. Это один файл main. js внутри. Как связать и прочитать файл шаблона мопса из nest js microservice?

В этом сообщении есть похожий вопрос, однако это касается приложения nest js.

1 Ответ

0 голосов
/ 02 апреля 2020

Сначала нам нужно настроить express экземпляр

  // main.ts
  const app = await NestFactory.create<NestExpressApplication>(
       AppModule,
  );
  app.setViewEngine('hbs');

Поместить папку шаблонов в root с папкой соседства sr c

enter image description here

но вы должны найти его не в папке dist, потому что компилятор Typescript не копирует нетипизированные файлы в папку dist. Для этого подхода вы можете использовать copy-webpack-plugin, но я просто советую вам изменить этот URL (. ./templates/email.pug), чтобы найти папку, расположенную в root, не найти ее в надежде, что она вам поможет! если нет, укажите структуру вашего файла. https://docs.nestjs.com/techniques/mvc

...