node.js:用vash渲染错误

我在vash中得到了node.js中的渲染错误。 我真的很难看到问题是什么。 下面是导致错误的错误和代码。

TypeError: Problem while rendering template at line 4, character 2. Original message: object is not a function. Context: 2 | @html.block('body', function(model){ 3 | <p>@model.title </p> > 4 | }); 5 | }); 6 | 7 | at helpers.extend.model (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2213:4) at Object.vash.loadFile (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2072:10) at helpers.extend (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2190:8) at eval (eval at <anonymous> (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:1820:24), <anonymous>:7:21) at vash.link.linked (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:1860:12) at vash.renderFile (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2082:21) at Object.vash.loadFile (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2070:10) at View.vash.renderFile [as engine] (C:\Users\user009\Dropbox\cpp\node_modules\vash\build\vash.js:2078:8) at View.render (C:\Users\user009\Dropbox\cpp\node_modules\express\lib\view.js:76:8) at Function.app.render (C:\Users\user009\Dropbox\cpp\node_modules\express\lib\application.js:502:10) 

路由器:

 app.get("/", function (request, response) { response.render('index', {title: 'letsdoit'}); }); 

layout.vash

 <!DOCTYPE html> <html> <head><link href="/css/site.css" rel="stylesheet" /> <title>@model.title</title></head> <body><div> @html.block('body') </div></body></html> 

index.vash

 @html.extend('layout', function(model){ @html.block('body', function(model){ <p>@model.title </p> }); }); 

在您的index.vash文件中,确保layout.vash文件的path是正确的。

例如,如果views文件夹结构是views / home / layout.vash和views / home / index.vash,那么:

 @html.extend('layout', function(model){ 

应该:

 @html.extend('home/layout', function(model){ 

希望能帮助到你。