Оптимизация Nodejs

#node.js #express #optimization

Вопрос:

Я пытаюсь создать код для сжатия экспресс-ответов, вот что у меня есть до сих пор с zlib и сжатием. С розеткой.io Я должен использовать HTTP на сервере.

 const compression = require(`compression`); const bodyparser = require(`body-parser`); const nodecache = require(`node-cache`); const socketio = require(`socket.io`); const express = require(`express`); const zlib = require(`zlib`); const htt = require(`http`); const app = express();  const cache = new nodecache(); // Let me know how I   app.use(compression()); app.use(bodyparser.json()); app.use(bodyparser.urlencoded({  extended: true })); app.use(bodyparser.json());  const server = htt.createServer(app);  app.get(`/`, (req, res) =gt; {  var raw = fs.createReadStream(__dirname   `/index.html`);  var aenc = req.headers[`accept-encoding`];  if (!aenc) {  aenc = ``;  }   res.setHeader(`Cache-Control`, `no-cache`);   if (aenc.match(/bgzipb/)) {  res.writeHead(200, {  "content-encoding": "gzip"  });  raw.pipe(zlib.createGzip()).pipe(res);  } else if (aenc.match(/bdeflateb/)) {  res.writeHead(200, {  "content-encoding": "deflate"  });  raw.pipe(zlib.createDeflate()).pipe(res);  } else {  res.writehead(200, {});  raw.pipe(res);  } });  app.get(`/*`, (rq, rs, n) =gt; {  var f = __dirname   `/`   rq.params[0];  var ae = rq.headers[`accept-encoding`];  rs.setHeader(`Cache-Control`, `no-cache`);  if (!ae) {  ae = ``;  }  var rw;  try {  fs.accessSync(f);  rw = fs.createReadStream(f);  } catch (e) {  rw = fs.createReadStream(__dirname   `/404.html`);  }    if (ae.match(/bgzipb/)) {  rs.writeHead(200, {  "content-encoding": "gzip"  });  rw.pipe(zlib.createGzip()).pipe(rs);  } else if (ae.match(/bdeflateb/)) {  rs.writeHead(200, {  "content-encoding": "deflate"  });  rw.pipe(zlib.createDeflate()).pipe(rs);  } else {  rs.writeHead(200, {});  rw.pipe(rs);  } });  server.listen(3000, () =gt; {  console.clear(); });  const io = new socketio.Server(server);  io.on(`connection`, (socket) =gt; {  socket.send(`Client Connected`);   io.on(`message`, (data) =gt; {  socket.emit("greetings", "Hey!", { "ms": "jane" }, Buffer.from([4, 3, 3, 1]));  });    io.on(`salutations`, (e1, e2, e3) =gt; {  console.log(e1, e2, e3);  }); }); // Just a template, I'm going to add something else, let me know if this needs optimization.  

Мне просто интересно, возможна ли еще какая-либо оптимизация с моей текущей настройкой, у меня есть IP-метод с подсказкой, но это в основном на стороне клиента.