Мопс + Express: проблема с доступом к переменной в макете - PullRequest
1 голос
/ 13 февраля 2020

Наша команда разрабатывает приложение, используя NodeJS + Express и используя Pug для визуализации представлений. Мы пытаемся создать крошку в проекте. Конечно, естественным местом для включения этой панели навигации является основной макет, поэтому ее можно отобразить на каждой странице с минимальными усилиями.

Однако Pug не может получить доступ в главном макете к другим переменные объявлены в дочерних макетах. Вот фрагмент того, что мы пытаемся сделать:

main_layout.pug

block vars
doctype html
html(lang="en")
  head
    ...
  body
    block content
      ...

child.pug

extends main_layout.pug

block vars
  - let abc = 'abc'
block content
    ...

Переменная abc на самом деле Разделить объект модели, но для простоты я использовал строку в примере. В любом случае это не работает.

Когда мы пытаемся прочитать переменную abc в области видимости файла main_layout.pug, она всегда возвращает undefined.

Странно то, что некоторые люди сообщали, что сделали это успешно раньше, как можно увидеть в этом посте . Однако эти сообщения получены от людей, использующих Jade, прежнюю версию Pug. Кто-нибудь может подтвердить, что это не работает в Pug 2.0?

В настоящее время мы используем Express версии 4.17.1 и Pug версии 2.0.4 в проекте.

Заранее спасибо.

...