NestJS 复制资产文件

Deo*_*Lai 9 nestjs

我正在开发一个读取哈巴狗模板的电子邮件模块。

我无法让构建包含 *.pug 模板文件:

我已按照以下说明进行操作: https://github.com/nestjs/nest-cli/issues/320

在nest-cli.json中添加资产属性

"email": {
  "type": "library",
  "root": "libs/email",
  "entryFile": "index",
  "sourceRoot": "libs/email/src",
  "compilerOptions": {
    "tsConfigPath": "libs/email/tsconfig.lib.json"
  },
  "assets": ["**/*.pug"]
},
Run Code Online (Sandbox Code Playgroud)

小智 7

我的用例涉及通过包设置静态文件服务@nest/serve-static。本教程建议将这些资源放在client项目根目录的文件夹中,并像这样配置模块:

ServeStaticModule.forRoot({
   rootPath: join(__dirname, '..', 'client'),
}),
Run Code Online (Sandbox Code Playgroud)

不幸的是,这对我不起作用,因为该client文件夹没有被复制到该dist文件夹​​。我花了一些尝试,但最终我得到了资产配置来做到这一点,这里是:

ServeStaticModule.forRoot({
   rootPath: join(__dirname, '..', 'client'),
}),
Run Code Online (Sandbox Code Playgroud)

您必须将其包含在顶级属性nest-cli.json内,例如compilerOptions

"assets": [
  { "include": "../client/**", "outDir": "dist/client", "watchAssets": true }
]
Run Code Online (Sandbox Code Playgroud)


Alf*_*red 3

房产assets应该在compilerOptions房产内部

"email": {
  "type": "library",
  "root": "libs/email",
  "entryFile": "index",
  "sourceRoot": "libs/email/src",
  "compilerOptions": {
    "tsConfigPath": "libs/email/tsconfig.lib.json",
    "assets": ["**/*.pug"]
  }
},
Run Code Online (Sandbox Code Playgroud)

  • 你解决过这个问题吗?遇到同样的问题 (2认同)