Макрос Nunjucks не найден во вложенных папках

У меня есть следующая структура:

шаблоны
– base.njk

страницы
– index.njk

компоненты //мой макрос
кнопка
- button.njk
- button.scss

Итак, когда я импортирую свой макрос на свою страницу: {% import 'button/button.njk' as btn %}
Это не работает, он загружает кнопку, потому что не говорит, что не может найти шаблон, но когда я пытаюсь вызвать свой макрос: {{ btn() }}
Выдает ошибку:

Невозможно вызвать "btn", который не является функцией

но когда его нет в папке «кнопка», он работает.

Я просто хочу знать, есть ли способ сохранить эту структуру и заставить ее работать?

Спасибо


person Mfundo Sithole    schedule 07.10.2016    source источник


Ответы (2)


Пытаться

{{ btn.your-macros-name() }}

or

{% from 'button/button.njk' import your-macros-name as btn %}
{{ btn() }}
person Aikon Mogwai    schedule 07.10.2016

вы должны написать свой код так, что вы можете импортировать его в любой файл .njk или .html, кроме button.njk

{% импортировать "button.njk" как btn %}

person Rajanish Mishra    schedule 27.10.2016