#macros #nunjucks #client-side-templating
#макросы #nunjucks #создание шаблонов на стороне клиента
Вопрос:
У меня следующая структура:
шаблоны
— base.njk
страницы
— index.njk
компоненты // мой макрос
кнопка
— кнопка.njk
— button.scss
Поэтому, когда я делаю импорт моего макроса на своей странице: {% import 'button/button.njk' as btn %}
Это не работает, он загружает кнопку, потому что он не говорит, что не может найти шаблон, но когда я пытаюсь вызвать свой макрос: {{ btn() }}
Выдает сообщение об ошибке:
Невозможно вызвать «btn», который не является функцией
но когда его нет в папке «кнопка», он работает.
Я просто хочу знать, есть ли способ сохранить эту структуру и заставить это работать?
Спасибо
Ответ №1:
Попробуйте
{{ btn.your-macros-name() }}
или
{% from 'button/button.njk' import your-macros-name as btn %}
{{ btn() }}
Ответ №2:
вы должны использовать свой код следующим образом, вы можете импортировать его в любой файл .njk или .html, кроме button.njk
{% импортировать «button.njk» как btn %}