使用nunjucks时发生块结束错误

Block end error when using nunjucks

本文关键字:结束 错误 nunjucks 使用      更新时间:2023-09-26

我将nunjucks2与express和node一起使用,在将njk升级到2.4.2之后,我收到了以下错误:

Template render error: (/home/aien/Web/Test/express/views/error.html)
 Template render error: (/home/aien/Web/Test/express/views/layout.html) [Line 56, Column 20]
 expected block end in block statement
   at Object.exports.prettifyError (/home/aien/Web/Test/express/node_modules/nunjucks/src/lib.js:34:15)
   at /home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:485:31
   at root [as rootRenderFunc] (eval at <anonymous> (/home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:564:24), <anonymous>:25:3)
   at Obj.extend.render (/home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:478:15)
   at /home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:311:35
   at Obj.extend.getTemplate (/home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:194:17)
   at Obj.extend.render (/home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:303:14)
   at NunjucksView.render (/home/aien/Web/Test/express/node_modules/nunjucks/src/environment.js:284:15)
   at tryRender (/home/aien/Web/Test/express/node_modules/express/lib/application.js:639:10)
   at EventEmitter.render (/home/aien/Web/Test/express/node_modules/express/lib/application.js:591:3)

错误和布局是简单的nunjucks文件,在这里我发布了我的app.js配置:

app.set('views', path.join(__dirname, 'views'));
nunjucks.configure('views', {
  express: app,
  autoescape: true
});
app.set('view engine', 'html');

好的,刚刚找到解决方案!!在做任何事情之前,只需检查块命名!文档中没有任何关于命名约定的内容,所以我的一个块名是content-top,我把它改成了contentTop,现在它开始工作了!