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

add Polka server example (#3588)

* add Polka server example

* Update package.json

* Fix linting
This commit is contained in:
Logan McAnsh 2018-01-31 03:24:38 -05:00 committed by Tim Neutkens
parent 99272808d9
commit 4965387a3c
5 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,15 @@
{
"name": "custom-server-polka",
"version": "1.0.0",
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js"
},
"dependencies": {
"next": "latest",
"polka": "0.2.3",
"react": "16.2.0",
"react-dom": "16.2.0"
}
}

View file

@ -0,0 +1,3 @@
import React from 'react'
export default () => <div>a</div>

View file

@ -0,0 +1,3 @@
import React from 'react'
export default () => <div>b</div>

View file

@ -0,0 +1,17 @@
import React from 'react'
import Link from 'next/link'
export default () => (
<ul>
<li>
<Link href='/b' as='/a'>
<a>a</a>
</Link>
</li>
<li>
<Link href='/a' as='/b'>
<a>b</a>
</Link>
</li>
</ul>
)

View file

@ -0,0 +1,21 @@
const polka = require('polka')
const next = require('next')
const port = parseInt(process.env.PORT, 10) || 3000
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()
app.prepare().then(() => {
const server = polka()
server.get('/a', (req, res) => app.render(req, res, '/b', req.query))
server.get('/b', (req, res) => app.render(req, res, '/a', req.query))
server.get('*', (req, res) => handle(req, res))
server
.listen(port)
.then(() => console.log(`> Ready on http://localhost:${port}`))
})