📜  在 Node.js 中使用 HTTP-errors 模块生成错误

📅  最后修改于: 2022-05-13 01:56:49.112000             🧑  作者: Mango

在 Node.js 中使用 HTTP-errors 模块生成错误

HTTP-errors模块用于为 Node.js 应用程序生成错误。这是非常容易使用。我们可以将它与 express、Koa 等应用程序一起使用。我们将在一个 express 应用程序中实现这个模块。

安装和设置:首先,使用以下命令使用package.json文件初始化应用程序:

npm init

然后,通过以下命令安装模块:

npm install http-errors --save

此外,我们正在使用 express 应用程序,因此,通过以下命令安装express模块:

npm install express --save

现在,创建一个文件并将其命名为app.js。您可以随意命名文件。

要在应用程序中导入模块,请在 app.js 文件中编写以下代码:

javascript
const createError = require('http-errors');
const express = require('express');
const app = express();


javascript
var createError = require('http-errors');
var express = require('express');
var app = express();
  
app.use((req, res, next) => {
  if (!req.user) return next(
    createError(401, 'Login Required!!'));
  next();
});
 
app.listen(8080, (err) => {
    if (err) console.log(err);
    console.log(
`Server Running at http://localhost:8080`);
});


实现:这里是我们应用程序的主要部分。要使用此模块,请在 app.js 文件中编写以下代码:

javascript

var createError = require('http-errors');
var express = require('express');
var app = express();
  
app.use((req, res, next) => {
  if (!req.user) return next(
    createError(401, 'Login Required!!'));
  next();
});
 
app.listen(8080, (err) => {
    if (err) console.log(err);
    console.log(
`Server Running at http://localhost:8080`);
});

在这里,我们导入http-errors模块并将其存储在名为createError 的变量中。接下来,在app.use() 中,如果用户未通过身份验证,那么我们的应用程序将创建一个401 错误,提示Login Required!!。 createError用于在应用程序中生成错误。

要运行代码,请在终端中运行以下命令:

node app.js

并导航到 http://localhost:8080。上述代码的输出将是:

所有状态代码及其错误消息的列表:

Status
Code    Error Message

400    BadRequest
401    Unauthorized
402    PaymentRequired
403    Forbidden
404    NotFound
405    MethodNotAllowed
406    NotAcceptable
407    ProxyAuthenticationRequired
408    RequestTimeout
409    Conflict
410    Gone
411    LengthRequired
412    PreconditionFailed
413    PayloadTooLarge
414    URITooLong
415    UnsupportedMediaType
416    RangeNotSatisfiable
417    ExpectationFailed
418    ImATeapot
421    MisdirectedRequest
422    UnprocessableEntity
423    Locked
424    FailedDependency
425    UnorderedCollection
426    UpgradeRequired
428    PreconditionRequired
429    TooManyRequests
431    RequestHeaderFieldsTooLarge
451    UnavailableForLegalReasons
500    InternalServerError
501    NotImplemented
502    BadGateway
503    ServiceUnavailable
504    GatewayTimeout
505    HTTPVersionNotSupported
506    VariantAlsoNegotiates
507    InsufficientStorage
508    LoopDetected
509    BandwidthLimitExceeded
510    NotExtended
511    NetworkAuthenticationRequired

结论: http-errors模块对于开发人员快速生成错误消息非常有用。在本文中,我们了解了 Node.js 的http-errors模块。我们也看到了它的安装和实现。