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-scoped-stylesheets-and-postcss
Paul Molluzzo d08e027a8c Add deploy now button to the top of all example READMEs (#1763)
* Add deploy now button to the top of all example READMEs

* Remove unnecessary whitespace changes
2017-04-22 14:51:51 +02:00
..
pages Add example with-scoped-stylesheets-and-postcss (#1146) 2017-02-17 16:04:58 +01:00
.babelrc Add example with-scoped-stylesheets-and-postcss (#1146) 2017-02-17 16:04:58 +01:00
next.config.js Add example with-scoped-stylesheets-and-postcss (#1146) 2017-02-17 16:04:58 +01:00
package.json Use latest version of Next for all examples (#1597) 2017-04-03 09:46:35 +05:30
postcss.config.js Add example with-scoped-stylesheets-and-postcss (#1146) 2017-02-17 16:04:58 +01:00
README.md Add deploy now button to the top of all example READMEs (#1763) 2017-04-22 14:51:51 +02:00

Deploy to now

Scoped stylesheets with PostCSS example

This is an example of using scoped stylesheets and PostCSS, heavily influenced by @davibe's with-global-stylesheet.

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-scoped-stylesheets-and-postcss
cd with-scoped-stylesheets-and-postcss

To get this example running you must

npm install .
npm run dev

Visit http://localhost:3000 and try edit pages/styles.css. Your changes should be picked up instantly.

Deploy it to the cloud with now (download)

now

Why

Scoped CSS is neat and keeps your JS clean. PostCSS is amazing for extended features, such as nesting. CSS Modules keep your class names “local”.

Known bugs

There's a bug, possibly within next.js, making composition between files unuseable. Consider the following:

styles.css

.paragraph {
  composes: font-sans from '../global.css';
}

global.css

.font-sans {
  font-family: georgia; /* ;) */
}

The following error is thrown:

Module build failed: Error: Cannot find module '-!./../node_modules/css-loader/index.js??ref--6-4!./../node_modules/postcss-loader/index.js!../global.css'