如何在feathers.js

时间:2018-01-24 17:18:52

标签: node.js feathersjs

我使用feathers.js v3.0.5作为我的其余解决方案,使用feathers-cli

创建了应用程序

对于每个错误代码,框架都有一个特定的 html模板,包括羽毛标志和样式:

  • 401 Not Authenticated
  • 403 Forbidden
  • 404 Not Found
  

有没有办法自定义错误的默认模板?

我想对于index.html,我只能修改index.html文件夹中的/public/但是对于错误,我没有找到任何明智的建议。

3 个答案:

答案 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
}));