Настраиваю rest api на node.js с использованием express, postgreSQL, webpack и handlebars. Возникла следующая проблема: после 5-10 переходов по ссылкам внутри сайта, страница перестает загружаться, во вкладке network хрома (забегая вперед, в firefox проблема та же) висит статус pending, а после 4 минут ожидания выдает net::err_empty_response. В консоли тишина. Рестарт сервера помогает помогает опять на 5-10 переходов. Не понимаю в чем дело.
app.js:
const express =require('express'),
pg = require('pg'),
path = require('path'),
exphbs = require('express-handlebars'),
bodyParser = require('body-parser'),
app = express();
var baseSize;
var page;
var booksPerPage = 3;
const hbs = exphbs.create({
extname: 'hbs',
defaultLayout: 'main',
layoutsdir: __dirname + '/views/Layouts',
helpers: {
pagination: function(index) {
if (index >= (page-1) * booksPerPage && index < (page * booksPerPage)) {
return true;
} else {
return false;
};
}
}
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.set('views', path.join(__dirname, 'views'));
app.engine('hbs', hbs.engine);
app.set('view engine', 'hbs');
app.use(express.static('public'));
const { Pool } = require('pg');
const pool = new Pool({
host: 'localhost',
user: 'bookAdmin',
database: 'Books',
password: '666',
port: 5432,
});
app.get('/', (req, res) => {
res.render('index', {
style: 'index1.css'
});
});
app.get('/page=:page', (req, res) => {
pool.connect((err, client, release) => {
if (err) {
return console.error('Error acquiring client', err.stack)
}
client.query('SELECT * from "Books" ORDER BY id', (err, result) => {
if (err) {
return console.error('Error executing query', err.stack)
}
baseSize = (result.rows).length;
page = req.params.page;
res.render('pagIndex', {
Books: result.rows,
style: 'index.css',
baseSize: baseSize,
booksPerPage: booksPerPage
});
})
})
});
app.listen(3000, function(){
console.log('serv started');
});