1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-relay-modern
Tim Neutkens eba9ebef5f Merge v3-beta into master (#2809)
* Add examples/with-redux-code-splitting. (#2721)

* #1757 Relay Modern Example (#2696)

* Add ReasonML example (#2640)

* Add ReasonML example

* Add a gitignore specifically for the reasonml example

* Allow custom className for <Main /> (#2802)

* 3.0.2

* Remove beta information from the README.

* 3.0.3

* Remove unnecessary lookup in example with emotion (#2731)

* Document SCSS/Less (#2742)

* Document SCSS/Less

* Add missing word

* Add docs for examples dir

* Add extra example

* uppercase J

* Add with pkg example (#2751)

* Add custom server micro example (#2750)

* Ease running multiple examples at the same time with process.env.PORT (#2753)

* Add line-height rule for error page h2 (#2761)

* Add support for fetching multiple translation files (#2743)

* Add support for fetching multiple translation files

* Cleanup

* Clear missed interval (#2611)

* clear missed interval

* remove trailing whitespace

* Relay Modern Example (#1757) (#2773)

* Simplification of Relay Modern Example (#1757) (#2776)

* Use deterministic names for dynamic import (#2788)

* Always use the same name for the same dynamic import.

* Add unit tests for the modulePath generation.

* Allow tests to run correctly on Windows.

* Make the chunk name a bit pretty.

* Fix tests to run on Windows.

* 3.0.4

* Revert "Make the chunk name a bit pretty." (#2792)

This reverts commit 0c9e8cf2271955e74ab9f752b5869b98c1dc60f9.

* 3.0.5

* Use _ as the divider for dynamic import name splitter. (#2793)

Using - gives us some weird webpack errors.

* 3.0.6

* next/dynamic Error Message Tweaks (#2798)

* Fixed issue (#2804)

https://github.com/zeit/next.js/issues/2800

* docs(material-ui): move the source code to Material-UI repository (#2808)
2017-08-27 22:13:35 +02:00
..
components Relay Modern Example (#1757) (#2773) 2017-08-14 18:41:12 +02:00
lib Simplification of Relay Modern Example (#1757) (#2776) 2017-08-15 07:50:56 +02:00
pages Relay Modern Example (#1757) (#2773) 2017-08-14 18:41:12 +02:00
schema Relay Modern Example (#1757) (#2773) 2017-08-14 18:41:12 +02:00
.babelrc Relay Modern Example (#1757) (#2773) 2017-08-14 18:41:12 +02:00
.env Merge v3-beta into master (#2809) 2017-08-27 22:13:35 +02:00
.graphqlconfig Simplification of Relay Modern Example (#1757) (#2776) 2017-08-15 07:50:56 +02:00
next.config.js Relay Modern Example (#1757) (#2773) 2017-08-14 18:41:12 +02:00
package.json Simplification of Relay Modern Example (#1757) (#2776) 2017-08-15 07:50:56 +02:00
README.md Simplification of Relay Modern Example (#1757) (#2776) 2017-08-15 07:50:56 +02:00

Deploy to now

Relay Modern Example

How to use

Download the example or clone the repo:

curl https://codeload.github.com/zeit/next.js/tar.gz/master | tar -xz --strip=2 next.js-master/examples/with-relay-modern
cd with-relay-modern

Install it:

npm install

Download schema introspection data from configured Relay endpoint

npm run schema

Run Relay ahead-of-time compilation (should be re-run after any edits to components that query data with Relay)

npm run relay

Run the project

npm run dev

Deploy it to the cloud with now (download):

now

The idea behind the example

Relay Modern is a new version of Relay designed from the ground up to be easier to use, more extensible and, most of all, able to improve performance on mobile devices. Relay Modern accomplishes this with static queries and ahead-of-time code generation.

In this simple example, we integrate Relay Modern seamlessly with Next by wrapping our pages inside a higher-order component (HOC). Using the HOC pattern we're able to pass down a query result data created by Relay into our React component hierarchy defined inside each page of our Next application. The HOC takes options argument that allows to specify a query that will be executed on the server when a page is being loaded.

This example relies on graph.cool for its GraphQL backend.