3
這是在我正在MacOsx本地構建的nodejs/express 4應用程序的上下文中。Expressjs隨機掛起,如何輸出錯誤?
這是一個簡單的應用程序,主要使用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)
})
對於[pg-promise](https://github.com/vitaly-t/pg-promise);你不會有任何這些問題;) –