0

想知道是否有人可以提供帮助?我正在尝试学习如何使用 NestJS微服务。我已经成功地获得了一个带有 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。如何从 nestjs 微服务捆绑和读取模板 pug 文件?

这篇文章有一个类似的问题,但它是针对一个 nestjs 应用程序的。

4

1 回答 1

0

首先我们需要配置 express 实例

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

将模板文件夹与邻居 src 文件夹放在根目录中

在此处输入图像描述

但是您必须不在 dist 文件夹中找到它,因为 Typescript 编译器不会将非 typescript 文件复制到 dist 文件夹,您可以使用 copy-webpack-plugin 但我只是建议您更改此网址(../templates/email.pug)以便找到位于根目录中的文件夹而不是在 dist 中找到它希望它会对您有所帮助!如果没有,请提供您的文件结构。 https://docs.nestjs.com/techniques/mvc

于 2020-04-02T03:48:17.750 回答