本文介绍了node.js:使用vash呈现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用vash的node.js中遇到渲染错误.我真的很想知道问题出在哪里.以下是错误和导致错误的代码.
I'm getting a rendering error in node.js with vash. I'm really struggling to see what the issue is. Below is the error and the code causing the error.
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
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
index.vash
@html.extend('layout', function(model){
@html.block('body', function(model){
<p>@model.title </p>
});
});
推荐答案
在index.vash文件中,确保layout.vash文件的路径正确.
In your index.vash file, make sure the path to the layout.vash file is correct.
例如,如果views文件夹结构为views/home/layout.vash和views/home/index.vash,则:
For example, if the views folder structure is views/home/layout.vash and views/home/index.vash, then:
@html.extend('layout', function(model){
应为:
@html.extend('home/layout', function(model){
希望有帮助.
这篇关于node.js:使用vash呈现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!