Expressjs随机挂起,如何输出错误?

罗伯特·布拉克斯

这是在我在MacOsx上本地构建的nodejs / express 4应用程序的上下文中。

这是一个简单的应用程序,主要使用postgresql(以本机形式)来呈现页面。

当我浏览页面时,登录,注销.....应用程序随机挂起:浏览器保持加载空白页面。控制台上没有输出错误。路由挂起后,我将无法再访问它,但是,我可以访问其他路由。其完全随机的事实使得很难找到问题的根源。

有没有一种残酷的方法来确定导致问题的原因?我至少能够找到一种读取错误的方法。

更新1:

  • 它发生在我遵循的第11条路线上吗?因此,如果我打开同一个链接11次,它将在11号挂起。可能是pg问题吗?
  • 它不是会话中间件,所以我认为:即使禁用它,它也会发生。

这是我的app.js条目文件:

import * as express from "express"
import * as exphbs from "express-handlebars"
import directory from "./source/apps/directory/directory_controller"
import users from "./source/apps/users/users_controller"
import * as session from "express-session"


// Non require variables
let app = express()
let port = process.env.PORT || 3002
import * as forms from "formidable"


app.use( session( { secret: 'keyboard cat' }))


app.use(function(req, res, next){
        res.locals.session = req.session
        next()
})


function logErrors(err, req, res, next) {
  console.error("middleware", err.stack )
  console.log("middleware", err)
  next(err)
}

app.use(logErrors)

/** Routes */
app.use( "/directory", directory )
app.use( "/users", users )

/** Views */
app.set( "views", __dirname + "/source/" )
app.engine( 'handlebars', exphbs( {
  defaultLayout: __dirname + "/source/views/layouts/main",
  partialsDir: "./source/apps/directory/views/partials/"
}) )
app.set( "view engine", "handlebars" )


// app.use(express.static(__dirname + '/public'));
app.listen( port, function () {
  console.log( "Server is listening on port:" + port )
})
罗伯特·布拉克斯

确实,这是一个postgress客户实例问题。

1)我使用客户端实例更改为客户端池。似乎在以前的代码中,每次加载页面时,它都会创建一个新的数据库实例并耗尽默认值10;解释为什么它无法加载第11页。

2)我确保使用done()关闭我的连接;(非常重要)作为文档中的示例:https : //github.com/brianc/node-postgres

令我惊讶的是我没有收到任何错误消息。我本可以花几个小时。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章