我使用feathers.js v3.0.5
作为我的其余解决方案,使用feathers-cli
对于每个错误代码,框架都有一个特定的 html模板,包括羽毛标志和样式:
401 Not Authenticated
403 Forbidden
404 Not Found
有没有办法自定义错误的默认模板?
我想对于index.html,我只能修改index.html
文件夹中的/public/
但是对于错误,我没有找到任何明智的建议。
答案 0 :(得分:1)
我认为Feathers应用程序不应该负责渲染错误页面。正如您所说,Feathers是您的REST / WebSocket平台。大多数人将其用作前端应用程序的仅数据后端,或者甚至作为完整的Express应用程序的API服务器。
在任何一种情况下,您都应该在代码中处理404错误(例如)并重定向/显示到您的404“UI”。
由于您未对应用程序,设置等进行过多指定,因此我无法提供任何具体信息。希望这会有所帮助。
答案 1 :(得分:1)
您可以按照Feathers error handler documentation:
中的说明设置自定义HTML页面const { errorHandler } = require('@feathersjs/express');
const app = feathers();
// Just like Express your error middleware needs to be
// set up last in your middleware chain.
app.use(errorHandler({
html: function(error, req, res, next) {
// render your error view with the error object
res.render('error', error);
}
}));
// Set paths to custom HTML pages
app.use(errorHandler({
html: {
404: 'path/to/notFound.html',
500: 'there/will/be/robots.html'
}
}));
答案 2 :(得分:0)
另一个好的解决方案是关闭 html 错误。这将返回 json 响应,这些响应更容易被基于软件的 api 消费者解释。
示例
app.use(errorHandler({
html: false
}));