编译期间,在.build文件夹中未更新句柄模板



情况

我目前正在开发一个无服务器项目,该项目使用NestJS和Handlebars呈现一些HTML(.hbs模板(。

  1. 当我第一次运行nest build && sls offline start时,我可以使用poster=>模板呈现得非常完美
  2. 但是,如果我现在更新.hbs模板中的某些内容,然后更新脱机服务器stop/restart,则在测试端点时不会考虑模板更改(就像我的模板只编译了一次(
  3. 如果我更改.css文件中的某些内容,然后更改脱机服务器的stop/restart,则编译的文件似乎如预期的那样被覆盖,并且我可以在渲染的模板中看到新的css

当前,当我测试端点时,我必须删除.build/文件夹,然后stop/restart脱机服务器,才能在渲染的HTML中查看我的模板更改。。。

如何避免这种变通方法

我希望在脱机服务器stop/restart时至少更新我编译的模板
最好的解决方案是更新编译后的模板"在手表模式下">但我在某处读到模板只在服务器启动时编译一次(https://github.com/nest-modules/mailer/issues/42)
这是我的nest-cli.json conf:

{
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"assets": ["**/*.hbs"],
"watchAssets": true
}
}

也许这不是最好的解决方案,但我用这种方式解决了类似的问题:我写了gulptask,它监视.hbs文件并模仿main.ts文件的更改。

function watchHandlebars() {
watch('src/views/**/*.hbs').on('all', () => {
console.log('Restarting Nest');
const path = './src/main.ts';
fs.utimesSync(path, new Date(), new Date());
});
}

最新更新