Из того, что я могу сказать, вы можете достичь той же функциональности, что и /layouts/index
, просто используя layout/index
, пока layout
является папкой в вашем каталоге templates/views
.
Я настроил git-репо в качестве рабочего примера, чтобы вы могли сами протестировать его и посмотреть, нужно ли мне углубляться во что-либо.
РЕДАКТИРОВАТЬ 27.06.2009:
Спасибо, я неправильно понял ваш первоначальный вопрос.
С помощью создания и экспресс-приложения вы можете отправить express server
на NestFactory
, чтобы использовать этот экземпляр сервера вместо того, чтобы Nest создавал простой экземпляр для вас. Отсюда вы можете настроить express server
, как обычно, и получить желаемую функциональность. Я изменил репозиторий git, чтобы лучше протестировать сценарий и поверить, что это то, что вы ищете.
Мой main.ts
import { NestFactory } from '@nestjs/core';
import { NestExpressApplication, ExpressAdapter } from '@nestjs/platform-express';
import * as express from 'express';
import { AppModule } from './app.module';
import { join } from 'path';
async function bootstrap() {
// Creating and setting up the express instanced server
const server = express();
server.locals.basedir = join(__dirname, '..', 'views');
// Using the express server instance in the nest factory
const app = await NestFactory.create<NestExpressApplication>(AppModule, new ExpressAdapter(server));
app.useStaticAssets(join(__dirname, '..', 'public'));
app.setBaseViewsDir(join(__dirname, '..', 'views'));
app.setViewEngine('pug');
await app.listen(3000);
}
bootstrap();
В общем, папка настроена примерно так
src
|-app.controller.ts
|-app.module.ts
|-app.service.ts
|-main.ts
views
|-hello
|-home.pug
|-message
|-message.pug
|-templates
|-layout.pug
И начало моих home.pug
и message.pug
файлов extends /templates/layout