Когда вы используете директиву include
в Pug для включения других файлов, они не вкладываются друг в друга по умолчанию. Вместо этого, файлы подключаются в том порядке, в котором они указаны в вашем коде.
Если вам нужно, чтобы файлы вкладывались друг в друга, вам следует использовать блоки и расширения (extend и block) вместо include.
Для начала, вам необходимо создать внешний файл, который будет являться шаблоном для всех остальных файлов. Давайте назовем его layout.pug
. В этом файле вы будете определять общую структуру ваших страниц. Например:
html head title My Website body header h1 Welcome to My Website block content footer p © 2021 My Website
Теперь вы можете создать другие файлы, которые будут расширять layout.pug
. Например, index.pug
:
extends layout.pug block content p This is the content of the index page.
А также about.pug
:
extends layout.pug block content p This is the content of the about page.
Теперь, когда вы будете рендерить index.pug
или about.pug
, блок content
в этих файлах будет подставляться в соответствующее место в layout.pug
.
Важно отметить, что при использовании блоков и расширений, вы должны убедиться, что все файлы находятся в одной директории, чтобы Pug мог найти все нужные файлы. Если файлы находятся в разных директориях, вам может потребоваться использовать относительные пути при указании пути к файлам для расширения.
Надеюсь, эта информация помогла вам понять, как правильно использовать include
и extend
в Pug, чтобы вкладывать файлы друг в друга.