使用hbs并获得“路径参数”错误.Join必须是字符串
Using hbs and getting error of "Arguments to path.join must be strings"?
我想使用hbs和express将一些模板应用到JSON数据(最终将从url获取数据)。作为一个使用express 4的新手,我发现很多以前的帖子和解决方案真的很困惑,因为express 4中有些功能贬值了。我组合了一些代码片段,得到了这样的结果:
var engines = require('consolidate');
var express = require('express');
var hbs = require('hbs');
app = express();
app.set('views', __dirname+ '/views');
app.set('view engine', 'hbs');
app.set("view options", { layout: true });
// ROUTES
app.get('/', function (req, res){
var data = {"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
res.render('index', JSON.stringify(data));
});
app.listen(3000);
我也试过只是把一个简单的字符串在res.render,如
res.render('index', 'haha');
但它仍然不起作用。有什么见解吗?
编辑:模板的目录是
views
- index.hbs
实际上我只写了
<hi> Hi </h1>
render
的第二个参数是一个对象,而不是字符串。只要通过data
。
编辑:你也设置layout: true
,但你没有layout.hbs。将其设置为false
和索引。HBS应该渲染
Edit2:完整的工作示例
index.js
var engines = require('consolidate');
var express = require('express');
var hbs = require('hbs');
app = express();
app.set('views', __dirname + '/views');
app.set('view engine', 'hbs');
app.set("view options", { layout: false });
// ROUTES
app.get('/', function (req, res){
var data = {
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
};
res.render('index', data);
});
app.listen(3000);
视图/index.hbs
{{#each employees}}
Name: {{firstName}}<br>
{{/each}}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- 未捕获的类型错误:firstArray.join不是函数
- 使用hbs并获得“路径参数”错误.Join必须是字符串
- SVG附加导致D3 JavaScript上出现d.join错误
- NodeJS服务器应用程序具有类型错误,如path.join