如何使用 Handlebars.js 在 nest.js 中设置默认布局?

psl*_*law 5 javascript node.js handlebars.js typescript nestjs

我刚开始使用 nest.js,之前对 node 和 express 有一些经验。

我正在尝试为我的部分和响应呈现设置默认布局。这是我的main.ts:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as hbs from 'hbs';

async function bootstrap() {
    const app = await NestFactory.create(AppModule);

    app.setBaseViewsDir(__dirname + '/views');
    hbs.registerPartials(__dirname + '/views/partials');
    app.setViewEngine('hbs');

    await app.listen(3000);
}
bootstrap();
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,应该在该代码的某处定义一个默认布局,但我不知道如何继续。我的 Google-fu 失败了,所以有人可以帮我吗?

Kim*_*ern 6

您可以使用

app.set('view options', { layout: 'index' });
Run Code Online (Sandbox Code Playgroud)

您仍然需要@Render('valid-layout')在所有控制器上使用,并且提供的布局名称必须有效。它只会被您的默认布局覆盖。