Показать сообщение отдельно
  #1 (permalink)  
Старый 16.04.2020, 16:04
Новичок на форуме
Отправить личное сообщение для SatanSeal Посмотреть профиль Найти все сообщения от SatanSeal
 
Регистрация: 16.04.2020
Сообщений: 3

Падает localhost
Настраиваю 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');
});
Ответить с цитированием