Macros Nunjucks宏';如果在嵌套文件夹中,则找不到

Macros Nunjucks宏';如果在嵌套文件夹中,则找不到,macros,nunjucks,client-side-templating,Macros,Nunjucks,Client Side Templating,我的结构如下: 模板 -base.njk 页面 -index.njk 组件//我的宏的 按钮 -按钮。njk -button.scss 因此,当我在页面中导入宏时: {%import'按钮/button.njk'作为btn%} 这不起作用,它会加载按钮,因为它不会说找不到模板,但当我尝试调用我的宏时: {{btn()}} 它抛出一个错误,说: 无法调用不是函数的“btn” 但当它不在“按钮”文件夹中时,它就可以工作 我只是想知道是否有办法维持这个结构并让它工作 谢谢试试看 {{ btn.your

我的结构如下:

模板
-base.njk

页面
-index.njk

组件//我的宏的
按钮
-按钮。njk
-button.scss

因此,当我在页面中导入宏时:
{%import'按钮/button.njk'作为btn%}

这不起作用,它会加载按钮,因为它不会说找不到模板,但当我尝试调用我的宏时:
{{btn()}}

它抛出一个错误,说:

无法调用不是函数的“btn”

但当它不在“按钮”文件夹中时,它就可以工作

我只是想知道是否有办法维持这个结构并让它工作

谢谢

试试看

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


您应该这样编写代码 您可以将其导入任何.njk或.html文件,button.njk除外

{%import“button.njk”作为btn%}

{% from 'button/button.njk' import your-macros-name as btn %}
{{ btn() }}