You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js使用Nunjucks渲染模板报错:未知路径与未知块标签

解决Nunjucks模板渲染报错:unknown block tag: data

我来帮你快速定位问题并解决,你这是踩了两个Nunjucks的基础语法坑:

错误原因拆解

  1. 模板语法用错了:你用{% data.name %}来输出变量,但Nunjucks里,{% %}是用来写控制流逻辑(比如循环、条件判断)的,输出变量必须用双大括号{{ }}——这就是你收到"unknown block tag: data"报错的直接原因。
  2. 数据结构不匹配:你在app.js里传给模板的data是数组["name", "ABC"],但你试图用对象属性data.name的方式访问,数组根本没有name这个属性,就算语法对了也取不到值。

修复步骤

第一步:修正后端数据结构

把app.js里的data改成键值对对象,这样才能通过data.name访问到对应的值:

app.get('/', function(req, res){ 
  res.render('index', {"data": {"name": "ABC"} }); 
});

第二步:修正模板输出语法

把HTML里的代码改成Nunjucks正确的变量输出格式:

{{ data.name }}

额外小提示

如果以后确实需要传数组(比如["name", "ABC"]),访问值要通过索引:

{{ data[1] }} <!-- 输出结果为ABC -->

记住Nunjucks的核心语法区分:

  • {{ 变量名 }}:专门用来输出变量内容
  • {% 逻辑语句 %}:用来处理循环、条件判断这类逻辑

内容的提问来源于stack exchange,提问作者Bushra Shahid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:20:15