Liquid语法转Nunjucks写法是否正确?Eleventy报set语句错误如何解决
错误原因
你遇到的报错是因为Nunjucks的过滤器传参语法和Liquid不一致:
- Liquid支持
过滤器名: 参数的传参写法 - Nunjucks要求所有过滤器参数必须用小括号包裹,否则解析器无法识别,就会抛出
expected block end in set statement的语法错误
修正后的代码
把getPostsByContributor后面的参数放进小括号即可:
{% set posts = collections.post | getPostsByContributor(contributor.key) %}
如果后续需要给过滤器传递多个参数,直接在括号内用逗号分隔参数即可,格式为| 过滤器名(参数1, 参数2)。
内容的提问来源于stack exchange,提问作者rocco
相关产品推荐
相关产品推荐

