如何在浏览器客户端使用nunjucksmacros?

我能够使用客户端模板为nunjucks,我从node.js预编译和公开JS模板文件。 我称之为客户端模板:

nunjucks.render('partials/some-template.html', { abc: 123 }) 

并返回一个string。

我怎样才能调用macros,但我做错了。 macros首先在node.js的页面上声明,然后在Node.js中连续调用:

 {% include 'macros/checkbox.html' %} ... {{ checkbox('you cool?', 'cool', false) }} {{ checkbox('you collected?', 'collected', false) }} 

但不知道如何获得macros,然后再次在客户端调用它。 我确实努力通过控制台的检查到目前为止,但没有运气。

当我想要在客户端渲染一个macros时,我使用了nunjucks.renderString方法来导入包含这个macros的文件,然后调用它 – 全部一起去。 我的用例是将macros渲染成HTML,然后使用Javascript将它添加到页面上。 一个示例用例是:

 var renderString = "{% import 'packageForms.html' as forms %} \n"; renderString = renderString + '{{ form.packageForm("task") }}'; var renderedHTML = nunjucks.renderString(renderString); $('#page').append(renderedHTML)