Реагируйте renderToNodeStream и gzip / br / deflate - PullRequest
0 голосов
/ 21 марта 2019

Работая над приложением SSR с использованием React / Express, я пытаюсь получить контроль над renderToNodeStream и потоками в целом.

У меня большая страница (400 КБ не сжата), и использование renderToNodeStream дает действительно хороший результат.TTFB (время до первого байта), все, что я пропускаю, - это какое-то сжатие, чтобы уменьшить размер HTML-ответа, отправляемого обратно, но я не могу заставить его работать с renderToNodeStream.

я что-то упустил?
Возможно липоток недавно обработанных ответов и их сжатие?

const stream = renderToNodeStream(<MyApp/>)

// this doesn't work
stream.pipe(zlib.createGzip())
stream._flush = zlib.Z_SYNC_FLUSH

stream.pipe(
 res,
 { end: "false" }
)

// stream.on("data", data => {
//   console.log(data)
// })
stream.on("end", () => {
  res.end(pageEnd())
})
...