Работая над приложением 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())
})