在 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模块。我们也看到了它的安装和实现。