rsnext/examples/api-routes-apollo-server
Luc Leray 8eaabe2fb0
Fix deploy buttons URLs (#20834)
Fix all deploy button URLs in the Next.js repo to follow the following format:
```
https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/<EXAMPLE_NAME>&project-name=<EXAMPLE_NAME>&repository-name=<EXAMPLE_NAME>
```

The detailed docs for the Deploy Button can be found here: https://vercel.com/docs/more/deploy-button.

Also updates legacy Vercel import flow URLs (starting with vercel.com/import or with vercel.com/new/project), to use the new vercel.com/new URLs.

---

For example, for the `hello-world` example:

The URL is https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/hello-world&project-name=hello-world&repository-name=hello-world

And the deploy button looks like this:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/hello-world&project-name=hello-world&repository-name=hello-world)

---

For reference, I used the following regexes to search for the incorrect URLs

```
\(https://vercel.com/import/git\?s=https://github.com/vercel/next.js/tree/canary/examples/(.*)\)
\(https://vercel.com/import/git\?c=1&s=https://github.com/vercel/next.js/tree/canary/examples/([^&]*)(.*)\)
\(https://vercel.com/import/project\?template=https://github.com/vercel/next.js/tree/canary/examples/(.*)\)
https://vercel.com/import/git
https://vercel.com/import/select-scope
https://vercel.com/import
https://vercel.com/new/project
```
2021-01-07 01:40:29 +00:00
..
pages Example: Static Generation of local Apollo GraphQL schema (#13202) 2020-05-27 06:05:10 +00:00
shared/query-graphql Example: Static Generation of local Apollo GraphQL schema (#13202) 2020-05-27 06:05:10 +00:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
package.json Ensure all examples are MIT licensed (#16691) 2020-08-29 22:32:35 -04:00
README.md Fix deploy buttons URLs (#20834) 2021-01-07 01:40:29 +00:00

Consume local Apollo GraphQL schema to create Static Generation export

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 your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

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

Deploy it to the cloud with Vercel (Documentation).

Notes

Static Export

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.

Read more about fallback option