Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2018, 17:54
Новичок на форуме
Отправить личное сообщение для titan83 Посмотреть профиль Найти все сообщения от titan83
 
Регистрация: 29.01.2018
Сообщений: 1

node.js + express + compression = непонятки
Коллеги, здравствуйте.
Я слегка новичек в мире js, поэтому не обессутьте...
В общем, делаю бэкэнд на ноде (до этого этот же бэк был мною написан на Qt/C++, там все работало правильно), принципиально все хорошо, но бэк отдает иногда довольно большие (единицы мегабайт) json'ы, и хотелось бы применять компрессию.
Ок. Читаю, делаю так:
const compression = require('compression');
const express = require('express');
const db = require('./app/db/db');
const app = express();
const port = 8000;

db.connect(function (err) {
    app.use(require('body-parser').urlencoded({extended: true}));
    app.use(compression());
    app.use((req, res, next) => {
        res.setHeader('Access-Control-Allow-Origin', '*');
        next();
    });
    console.log(err ? err.message : 'Connected to database');
    require('./app/routes')(app, db);
    app.listen(port, () => {
        console.log('Server started at port ' + port);
    });
});

Потом обрабатываю маршрут так:
app.get('/api/clients', (req, res) => {
        db.clientList(function (err, rowCount, result) {
            console.log(result);
            //res.setHeader('Content-Length', result.length);
            //res.setHeader('Content-Encoding', 'gzip');
            res.send(err ? {'error': err} : result);
        });
    });


В общем, работет компрессия не всегда (причем хидера Content-Encoding нет никогда), примерно в половине случаем у меня время загрузки 5 секунд, в другой половине 50-10 миллисекунд.
Куда копать?
Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
netBeans и node.js s_baklanov Node.JS 1 03.11.2016 11:32
ошибка при вызове из консоли глобального модуля express в node.js в windows 8.1 jazznet AJAX и COMET 1 16.06.2015 11:30
JavaScript. Уровень 3в. Серверное программирование на Node.js maxy666 Node.JS 8 10.08.2014 00:36
Асинхронная обработка request'а запроса node.js (express) kilop AJAX и COMET 0 05.11.2013 20:18
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 21:49