-
Notifications
You must be signed in to change notification settings - Fork 30
/
server.js
41 lines (36 loc) · 916 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const express = require("express");
const next = require("next");
const dev = process.env.NODE_ENV !== "production";
const app = next({ dir: ".", dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
if (!dev) {
/**
* Static Files
*/
server.get("/robots.txt", (req, res) => {
return res.sendFile("/static/robots.txt");
});
server.get("/sitemap.xml", (req, res) => {
return res.sendFile("/static/sitemap.xm");
});
}
/**
* Kernels
*/
server.get("/kernels/:slug", (req, res) => {
const queryParams = { slug: req.params.slug };
return app.render(req, res, "/kernels", queryParams);
});
/**
* Catch all
*/
server.get("*", (req, res) => {
return handle(req, res);
});
server.listen(8080, err => {
if (err) throw err;
console.log("> Ready on http://localhost:8080");
});
});