Это в контексте приложения nodejs/express 4, которое я создаю локально на MacOsx.Expressjs случайно зависает, как выводить ошибки?
Это простое приложение, которое в основном использует postgresql (в родной форме) для визуализации страниц.
Когда я просматриваю свои страницы, логин, выход из системы ..... в точке, где приложение случайно зависает: браузер остается загружать пустую страницу. Ошибка не выводится на консоль. Когда маршрут зависает, я больше не могу к нему обращаться, НО, я могу получить доступ к другим маршрутам. Тот факт, что его совершенно случайное затрудняет поиск источника проблемы.
Есть ли жестокий способ найти то, что вызывает проблему? Я бы, по крайней мере, смог найти способ прочитать ошибку.
UPDATE 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-prom] (https://github.com/vitaly-t/pg-promise);) –