我开始玩Strapi框架并尝试使用Handlebars和路线来显示页面。我按照文档操作,然后用这个创建了一个控制器:
find: function *() {
try {
yield this.render('user', {
firstname: 'John',
lastname: 'Doe'
});
} catch (error) {
this.body = error;
}
},
和一个路由器文件:
{
"routes": {
"GET /": {
"controller": "strap",
"action": "find"
}
}
}
它正在运行(没有错误),但我找到了404未找到状态,而不是我在views/user.html
中的页面,就像在文档中一样。
我错过了什么?
答案 0 :(得分:2)
有趣......你的控制器和路线看起来不错。
确保您的配置如下所示:
{
"views": {
"map": {
"html": "handlebars"
},
"default": "html"
}
}
只有在配置中有default
映射键时,才需要在控制器中指定文件扩展名。否则你需要像这样指定扩展名:
find: function *() {
try {
yield this.render('user.html', {
firstname: 'John',
lastname: 'Doe'
});
} catch (error) {
this.body = error;
}
},
在您的HTML文件中:
<html>
<body>
<p>Firstname: {{ firstname }}<br>Lastname: {{ lastname }}</p>
</body>
</html>
答案 1 :(得分:0)
哦,您的API路线与公共资产之间可能存在冲突。您可以尝试删除./public/index.html
文件吗?