Next.js ships with two forms of pre-rendering: Static Generation and Server-side Rendering. This example shows how to perform Static Generation using a local Apollo GraphQL schema within getStaticProps and getStaticPaths. The end result is a Next.js application that uses one Apollo GraphQL schema to generate static pages at build time and also serve a GraphQL API Route at runtime.
Deploy the example using Vercel:
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example api-routes-apollo-server api-routes-apollo-server-app
# or
yarn create next-app --example api-routes-apollo-server api-routes-apollo-server-app
Download the example:
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/api-routes-apollo-server
cd api-routes-apollo-server
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with Vercel (Documentation).
If you wish to export a static HTML + JS version of the site you need to first change the setting in this example in ./pages/[username].js
where getStaticPaths
has fallback: true
- this needs to be false
for static export to work. You can then run npm run build
and npm run export
to export the site as a static folder in ./out
directory.