我需要从api返回的所有错误都是特定的json格式。因此,当我将中间件错误处理逻辑添加到Node类型记录应用程序以捕获路由错误时,它不起作用。
我的app.ts文件:
import express, { Application, Request, Response, NextFunction } from 'express';
import routes from './src/start/routes';
import cors from 'cors';
require('dotenv').config();
const ap
我正在用NodeJS和Express构建一个应用程序,最近我已经将错误处理与雷声枪结合起来。
Raygun提供了一个专门用于Express的错误处理程序,但它必须是运行的最后一个中间件。现在我有:
//Log the domain id, req, and error to the console
app.use(function errorHandler(err, req, res, next) {
console.log('error on request %d %s %s: %s', process.domain.id, req.method, req.url, er
我正在将我的Express.js应用程序重写为Typescript类,并且在处理错误时遇到了一些问题。下面是我的App.ts类文件: import express from 'express';
import compression from 'compression';
import logger from './util/logger';
/**
* Express Application Class
*/
class App {
public app: express.Application;
public port:
我使用POSTMAN将带有JSON对象的post请求发送到我的nodejs express服务器。
代码如下:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json()); //need this to get req.body into json
var path = require('path');
var server = require('h
在我的节点js应用程序中有以下路由设置:
const { body } = require("express-validator");
router.post(
"/user/signup",
[
body("firstName").not().isEmpty().withMessage("First name is required"),
body("lastName").not().isEmpty().withMessage("Last name is required"
我正在尝试为我的Express路由使用一个自定义的错误处理程序,但无法使其工作。我遵循了documentation,他们说你必须将你的处理程序放在use链的最末端,但它看起来仍然像是调用了默认的错误处理程序。 我已经将我的项目简化到了最基本的部分,这就是我所拥有的。我只是在App实例上调用start方法,以便让服务器开始侦听。 import * as express from "express";
import { Express, Request, Response } from "express";
import * as bodyParser from
我的Express应用程序中的一个常见模式是在我的所有路由中包含以下内容:
//...code which could result in an err
if (!err) return res.send(200);
console.log(err); // Would prefer to omit this line
res.send(500);
现在,我需要在我的所有路由中编写console.log(err)。我更喜欢在每次发送500时自动记录err变量。有没有办法连接到Express并自动记录所有500个响应的调用堆栈和/或err?
我在expressjs中使用Nuxtjs作为中间件,我在处理express服务器部分的错误时遇到了问题。
当浏览器转到'localhost:3000‘时,它将抛出res.status is not a function错误。当我注释该代码块时,除了无法处理未捕获的服务器错误之外,一切都很好……
有什么想法吗?
import dotenv from 'dotenv'
dotenv.config({ silent: process.env.NODE_ENV === 'production', path: 'server/.env' })
i
我有一个快速应用程序,接受基本的用户输入数据。我所有的get路由都正常工作,但是当我向服务器提交一个post请求时,我会在我要发布的url上得到一个404,即使我在视图文件夹中有这个页面。
app.js:
var express = require('express');
var path = require('path');
var consolidate = require('consolidate');
var bodyParser = require('body-parser');
var database = requi
猫鼬发出堆栈跟踪以查找转换错误。我知道如何防止猫鼬错误-请不要回答如何防止错误。
如何阻止猫鼬在生产中发出堆栈跟踪错误?
错误:传入的参数必须是12个字节的单个字符串,或者是在新的(c:\proj\fboapp\node_modules\mongoose\node_modules\bson\lib\bson\objectid.js:38:11) at c:\proj\fboapp\routes\user\no_auth_user_api_routes.js:135:27 at Layer.handle at next (c:\proj\fboapp\node_modules\express
这是我的代码
mysql = require('mysql');
con = mysql.createConnection(connectionSetttings);
app.get('/users/list', ensureLogin, function (req, res, next) {
con.query(query.getUserList, [req.user.innId], function (err, rows) {
if (err) {
next(err); // also tried: ret
我试图从我的‘/ user /:uid’端点获得一个响应,如果用户在数据库中,它应该返回特定用户的数据,但是它不能工作。我得到了一个错误:
我有一个userController文件,其中实现了基于URL中的id查找用户的函数,userController文件如下所示:
import { Request, Response } from "express";
import mongoose from "mongoose";
import { schema } from "../models/User";
import { User } from &
我正在尝试在我的Express应用程序中实现一个自定义错误处理程序。我认为我遵循文档是正确的,但我肯定做错了什么,因为我的应用程序在端点出错的任何时候都会返回HTML。 文档:https://expressjs.com/en/guide/error-handling.html 我在这里和GitHub上发现的几乎每一个类似的问题都已经通过放置错误处理中间件和堆栈的末尾得到了解决。但我已经这样做了,仍然没有运气。 下面是我的代码: // server.js import express from 'express';
import body from 'body-pars