我有一个呈现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发布于 2018-09-10 11:29:50
第二个宏缺少结束语句{% endmacro %}。Sample project here if anyone wants to play with the setup。
注还更新了nj.render调用以记录错误。
https://stackoverflow.com/questions/52250464
复制相似问题