From 76299ad369e83d42096834fc2c8a7ae626cb64df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Fri, 11 Dec 2020 01:35:18 +0100 Subject: [PATCH] Create custom server --- package.json | 4 ++-- server.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 server.js diff --git a/package.json b/package.json index 030457f..780bd87 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,9 @@ "private": true, "scripts": { "lint": "xo", - "dev": "next dev", + "dev": "node server", "build": "next build", - "start": "next start" + "start": "NODE_ENV=production node server" }, "dependencies": { "@material-ui/core": "^4.11.2", diff --git a/server.js b/server.js new file mode 100644 index 0000000..e3efded --- /dev/null +++ b/server.js @@ -0,0 +1,43 @@ +const express = require('express') +const next = require('next') +const compression = require('compression') + +const port = process.env.PORT || 3000 +const dev = process.env.NODE_ENV !== 'production' +const app = next({dev}) +const handle = app.getRequestHandler() + +app.prepare().then(() => { + const server = express() + + if (!dev) { + server.use(compression()) + } + + server.get('/awtis', (request, response) => { + response.redirect('/awtis/paj/1') + }) + + server.get('/awtis/paj/:paj', (request, response) => { + app.render(request, response, '/awtis', { + ...request.query, + paj: request.params.paj + }) + }) + + server.get('/teks', (request, response) => { + app.render(request, response, '/teks') + }) + + server.get('*', (request, response) => { + return handle(request, response) + }) + + server.listen(port, error => { + if (error) { + throw error + } + }) + + console.log(`> Ready on http://localhost:${port}`) +})