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-glamor
Juan Olvera 7e12997af6 Test updater script on examples folder (#5993)
I wrote a [script](https://github.com/j0lv3r4/dependency-version-updater) to update dependencies recursively in `package.json` files, e.g.:

```
$ node index.js --path="./examples" --dependencies="react=^16.7.0,react-dom=^16.7.0"
```

This PR contains the result against the examples folder.
2019-01-05 12:19:27 +01:00
..
pages remove <title> in _document.js in examples (#5679) 2018-11-15 16:31:56 +01:00
.babelrc Improve glamor example (#4893) 2018-08-05 16:13:28 -07:00
next.config.js Improve glamor example (#4893) 2018-08-05 16:13:28 -07:00
package.json Test updater script on examples folder (#5993) 2019-01-05 12:19:27 +01:00
README.md Improve glamor example (#4893) 2018-08-05 16:13:28 -07:00

Deploy to now

Example app with glamor

How to use

Using create-next-app

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

npx create-next-app --example with-glamor with-glamor-app
# or
yarn create next-app --example with-glamor with-glamor-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-glamor
cd with-glamor

Install it and run:

npm install
npm run dev
# or
yarn
yarn dev

Deploy it to the cloud with now (download)

now

The idea behind the example

This example features how to use a different styling solution than styled-jsx that also supports universal styles. That means we can serve the required styles for the first render within the HTML and then load the rest in the client. In this case we are using glamor.

For this purpose we are extending the <Document /> and injecting the server side rendered styles into the <head>.

In this example a custom React.createElement is used. With the help of a babel plugin we can remove the extra boilerplate introduced by having to import this function anywhere the css prop would be used. Documentation of using the css prop with glamor can be found here