【问题标题】:How to show custom html page on specific errors with Node/Express?如何在 Node/Express 的特定错误上显示自定义 html 页面?
【发布时间】:2016-09-13 12:07:18
【问题描述】:

通常,每当我们部署时,我们的服务器都会在编译资产时返回 503 长达 2-3 分钟。如果服务器代码返回 503,Express/Node 如何提供静态 html 页面?肯定有一种简单的方法可以监听特定的错误代码吗?

【问题讨论】:

  • 你的节点进程在运行吗?它在代理后面吗?
  • @elmigranto 是的,它在代理后面
  • 所以您希望在节点进程关闭时显示 HTML?这取决于代理本身以及它如何处理上游错误。它不是特定于 node/express/etc 的。还是我错过了什么?
  • @elmigranto 这也是我读到的,所以我不认为你错过了什么。

标签: javascript node.js express server


【解决方案1】:

app.usean error handler 作为你的最后一个中间件:

app.use(function (err, req, res, next) {
  if (res.statusCode === 503)
    return res.render('errors/503.jade');

  next(); // default Express' error handler.
});

【讨论】:

    【解决方案2】:

    直接从 Express js 页面复制格式。

    var bodyParser = require('body-parser');
    var methodOverride = require('method-override');
    
            app.use(bodyParser());
            app.use(methodOverride());
            app.use(function(err, req, res, next) {
    
    if (res.status === 503)
    {
    res.sendFile('yourfilepath/filename.html');
        }
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多