В Pug (ранее известном как Jade) ключевое слово "extends" используется для создания шаблонов и наследования кода. Оно позволяет создавать базовый шаблон, который может быть расширен или модифицирован другими шаблонами.
Когда мы используем ключевое слово "extends" в Pug, мы создаем расширяемый шаблон, который будет содержать общие части кода для всех наследующих шаблонов. Базовый шаблон определяется с помощью директивы "extends" в начале файла и указывает на файл, который будет расширяться.
Синтаксис для использования "extends" выглядит следующим образом:
extends имя_файла
В файле, указанном в директиве "extends", мы размещаем общие части кода, которые должны быть наследованы другими шаблонами. Эти части кода обычно содержат неизменяемую структуру страницы, такую как заголовок, навигационное меню или подвал.
Пример:
layout.pug:
html head title My Website body header h1 Welcome to My Website block content footer p Copyright © 2022 My Website
home.pug:
extends layout.pug block content p This is the home page content.
about.pug:
extends layout.pug block content p This is the about page content.
В этом примере у нас есть базовый шаблон "layout.pug", который содержит общую структуру страницы. Далее у нас есть два наследующих шаблона "home.pug" и "about.pug", которые расширяют базовый шаблон и определенное содержимое страницы внутри блока "content".
Когда мы рендерим "home.pug" или "about.pug", Pug автоматически подставляет содержимое из блока "content" в соответствующем месте базового шаблона. Таким образом, мы получаем готовую страницу с общей структурой и уникальным содержимым для каждой страницы.
Использование "extends" в Pug позволяет создавать модульные и переиспользуемые шаблоны, что значительно упрощает разработку и обслуживание проектов, особенно при наличии большого количества страниц.