Next.js: with-http-2 example fails on Node v11.15.0

Created on 18 Aug 2019  路  2Comments  路  Source: vercel/next.js

Examples bug report

Example name

with-http-2

Describe the bug

The server crashes after you load the first page:

$ npm run dev

> [email protected] dev /home/username/next.js/with-http2-app
> node server.js

[ ready ] compiled successfully
[ wait ]  compiling ...
Listening on HTTPS port 3000
[ ready ] compiled successfully
[ event ] build page: /
[ wait ]  compiling ...
[ ready ] compiled successfully
/home/username/next.js/with-http2-app/node_modules/compression/index.js:84
        this._implicitHeader()
             ^

TypeError: this._implicitHeader is not a function
    at Http2ServerResponse.write (/home/username/next.js/with-http2-app/node_modules/compression/index.js:84:14)
    at ReadStream.ondata (_stream_readable.js:705:22)
    at ReadStream.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at ReadStream.Readable.push (_stream_readable.js:231:10)
    at fs.read (internal/fs/streams.js:183:12)
    at FSReqCallback.wrapper [as oncomplete] (fs.js:478:5)

To Reproduce

  1. Run npx create-next-app --example with-http2 with-http2-app
  2. Run cd with-http2-app
  3. Copy your SSL keys into localhost-privkey.pem and localhost-cert.pem.
  4. Run npm run dev
  5. Load https://localhost:3000/ in a browser and ignore the warning about self-signed certs.

Expected behavior

The page should load and the process keep running.

System information

OS: Ubuntu 18.04.3 LTS.
Node: I reproduced this on both v11.15.0 and v8.16.1.
Next.js cloned from master (commit 5422ee04bec6f2a582b3ce2f15b9edc30e755e13)

Additional context

Probably related to https://github.com/expressjs/compression/pull/128

Disabling compression in the config, per the docs:

const app = next({
  dev,
  conf: {
    compression: false,
  }
})

did not fix the problem. I'm a bit suspicious that the docs are out of date too, because the typescript types don't mention this option... but that's an issue for another ticket.

Most helpful comment

ugh... I just found https://github.com/zeit/next.js/pull/8066

Looks like the docs have a bug. The setting is compress, not compression. And setting that to false _does_ fix this problem. So probably not a problem specific to this example at all.

All 2 comments

ugh... I just found https://github.com/zeit/next.js/pull/8066

Looks like the docs have a bug. The setting is compress, not compression. And setting that to false _does_ fix this problem. So probably not a problem specific to this example at all.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rauchg picture rauchg  路  3Comments

pie6k picture pie6k  路  3Comments

wagerfield picture wagerfield  路  3Comments

swrdfish picture swrdfish  路  3Comments

knipferrc picture knipferrc  路  3Comments