导入 Nunjucks 宏?
Importing a Nunjucks Macro?
我有一个呈现 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
第二个宏缺少结束语句 {% endmacro %}
。 Sample project here if anyone wants to play with the setup.
注意还更新了 nj.render
调用以记录错误。
我有一个呈现 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
第二个宏缺少结束语句 {% endmacro %}
。 Sample project here if anyone wants to play with the setup.
注意还更新了 nj.render
调用以记录错误。