Импортировать макрос Nunjucks? - PullRequest
       7

Импортировать макрос Nunjucks?

0 голосов
/ 10 сентября 2018

У меня есть скрипт, который отображает шаблон nunjucks contact.html, который выглядит следующим образом:

    let fs = require('fs');
    let nj = require('nunjucks');
    var contact = fs.readFileSync('./src/contact.html','utf8');
    nj.configure('src');
    let result = nj.render('contact.html');
    console.log(result);

Работает нормально и правильно записывает result.

Я пытаюсь добавить макрос и помещаю определение в файл templates/forms.njk. Затем я пытаюсь загрузить его из contacts.html следующим образом:

{% import "templates/forms.njk" as forms %}

{% set title = 'Contact' %}
{% extends '_layout.html' %}
{% block content %}
<h1>Test Template</h1>
{% endblock %}

Теперь results регистрируется как null, но если я удаляю макрос, импорт запишет обработанный шаблон контакта. Мысли

Макет каталога src выглядит следующим образом:

├── contact.html
├── index.html
├── _layout.html
└── templates
    └── forms.njk

1 Ответ

0 голосов
/ 10 сентября 2018

Во втором макросе отсутствовал закрывающий оператор {% endmacro %}. Пример проекта здесь, если кто-то хочет поиграть с настройкой .

Примечание также обновил вызов nj.render для регистрации ошибки.

...