rsnext/examples/with-react-esi
Shu Uesugi 6804039e94 Make example READMEs more consistent (#10124)
* npx create → npm init

* Fix inconsistent instructions

* Update amp-first

* Update with-graphql-react

* with-firebase-cloud-messaging

* Update with-higher-order-component

* change create-next-app url

* Update create-next-app instruction

* Update instructions to use npm instead of npx

* Move "the idea behind the example" to top

* Rename

* Rename

* Update contributing.md with a README template
2020-01-16 23:23:56 +01:00
..
docker/varnish Add an example using ESI cache (with React ESI) (#6225) 2019-02-22 09:32:51 +01:00
src Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
.babelrc Add an example using ESI cache (with React ESI) (#6225) 2019-02-22 09:32:51 +01:00
.gitignore Add an example using ESI cache (with React ESI) (#6225) 2019-02-22 09:32:51 +01:00
docker-compose.yml Format missed files (#7464) 2019-05-29 18:19:32 -07:00
Dockerfile Add an example using ESI cache (with React ESI) (#6225) 2019-02-22 09:32:51 +01:00
package.json Update remaining examples to latest Next.js 2019-07-08 19:37:58 -04:00
README.md Make example READMEs more consistent (#10124) 2020-01-16 23:23:56 +01:00

React ESI example

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 fragments of rendered pages, each fragment corresponding to a component subtree. This example shows how to leverage React ESI and the Varnish HTTP accelerator to improve dramatically the performance of an app.

The example (and the underlying lib) can work with any ESI implementation, including Akamai, Fastly and Cloudflare Workers.

Example app with prefetching pages

How to use

Using create-next-app

Execute create-next-app with npm or Yarn to bootstrap the example:

npm init next-app --example with-react-esi with-react-esi-app
# or
yarn create next-app --example with-react-esi with-react-esi-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/with-react-esi
cd with-react-esi

Starting the Varnish cache server

A Docker setup containing Varnish with the appropriate config and Node is provided. Run the following command to start the project:

docker-compose up