1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Fix #3700 Added examples for next-sass (#3729)

* #3700 Add examples for next-sass

* #3700 Use React.Fragments and more

* Fix #3700 remove some keys to make more clear

* Fix #3700, change to without-css-modules

* Replace PageWrapper with _document for more concise code. #3700
This commit is contained in:
AlbertGao 2018-02-16 22:51:13 +13:00 committed by Tim Neutkens
parent 972db9ba43
commit 48e6decc2d
6 changed files with 95 additions and 0 deletions

View file

@ -0,0 +1,2 @@
const withSass = require('@zeit/next-sass')
module.exports = withSass()

View file

@ -0,0 +1,14 @@
{
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"dependencies": {
"@zeit/next-sass": "0.0.9",
"next": "^5.0.0",
"node-sass": "^4.7.2",
"react": "^16.2.0",
"react-dom": "^16.2.0"
}
}

View file

@ -0,0 +1,26 @@
/*
In production the stylesheet is compiled to .next/static/style.css.
The file will be served from /_next/static/style.css
You could include it into the page using either next/head or a custom _document.js.
*/
import Document, { Head, Main, NextScript } from 'next/document'
export default class MyDocument extends Document {
render () {
return (
<html>
<Head>
<link
rel='stylesheet'
href='/_next/static/style.css'
/>
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}

View file

@ -0,0 +1,6 @@
import '../styles/style.scss'
export default () =>
<div className='example'>
Hello World!
</div>

View file

@ -0,0 +1,43 @@
[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/zeit/next.js/tree/master/examples/with-jest)
# Example app with next-sass
## How to use
### Using `create-next-app`
Download [`create-next-app`](https://github.com/segmentio/create-next-app) to bootstrap the example:
```bash
npm i -g create-next-app
create-next-app --example with-next-sass with-next-sass-app
```
### Download manually
Download the example [or clone the repo](https://github.com/zeit/next.js):
```bash
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-next-sass
cd with-next-sass
```
Install it and run:
```bash
npm install
npm run build
npm run start
```
The dev mode is also support via `npm run dev`
## The idea behind the example
This example features:
* An app with next-sass
This example uses next-sass without css-modules. The config can be found in `next.config.js`, change `withSass()` to `withSass({cssModules: true})` if you use css-modules. Then in the code, you import the stylesheet as `import style '../styles/style.scss'` and use it like `<div className={style.example}>`.
[Learn more](https://github.com/zeit/next-plugins/tree/master/packages/next-sass)

View file

@ -0,0 +1,4 @@
$color: #2ecc71;
.example {
background-color: $color;
}