6c5efd7b09
cacheable-response.get expects a get(req, res) method signature: https://www.npmjs.com/package/cacheable-response#get Before the change: ``` curl -s -v http://localhost:3000/blog/first 2>&1 | grep HTTP/1.1 > GET /blog/first HTTP/1.1 < HTTP/1.1 404 Not Found ``` After the change: ``` curl -s -v http://localhost:3000/blog/first 2>&1 | grep HTTP/1.1 > GET /blog/first HTTP/1.1 < HTTP/1.1 200 OK ``` This is a partial fix of https://github.com/zeit/next.js/issues/12019 to make the example work. However it doesn't fix the error ``` (node:62360) UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client ``` , which will need a change at server/next-server.ts See related issue: https://github.com/zeit/next.js/discussions/11525 https://github.com/zeit/next.js/issues/11665 |
||
---|---|---|
.. | ||
pages | ||
package.json | ||
README.md | ||
server.js |
Example app where it caches SSR'ed pages in the memory
React Server Side rendering is very costly and takes a lot of server's CPU power for that. One of the best solutions for this problem is cache already rendered pages. That's what this example demonstrate.
This app uses Next's custom server and routing mode. It also uses express to handle routing and page serving.
How to use
Using create-next-app
Execute create-next-app
with npm or Yarn to bootstrap the example:
npm init next-app --example ssr-caching ssr-caching-app
# or
yarn create next-app --example ssr-caching ssr-caching-app
Download manually
Download the example:
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/ssr-caching
cd ssr-caching
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with Vercel (Documentation).