mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
/**
|
|
* server.js
|
|
*
|
|
* You can use the default server.js by simply running `next`,
|
|
* but a custom one is required to do paramaterized urls like
|
|
* blog/:slug.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
* BENEVOLENT WEB LLC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
|
|
const {createServer} = require('http')
|
|
const next = require('next')
|
|
|
|
const port = parseInt(process.env.PORT, 10) || 3000
|
|
const dev = process.env.NODE_ENV !== 'production'
|
|
const app = next({dev})
|
|
|
|
/**
|
|
* Parameterized Routing with next-route
|
|
*
|
|
* Benefits: Less code, and easily handles complex url structures
|
|
*/
|
|
|
|
const routes = require('next-routes')()
|
|
routes.add('blog/entry', '/blog/:id')
|
|
|
|
const handler = routes.getRequestHandler(app)
|
|
app.prepare().then(() => {
|
|
createServer(handler)
|
|
.listen(port, (err) => {
|
|
if (err) throw err
|
|
console.log(`> Ready on http://localhost:${port}`)
|
|
})
|
|
})
|