Skip to content

Instantly share code, notes, and snippets.

@gaverdugo
Created July 5, 2018 02:29
Show Gist options
  • Save gaverdugo/35c5fbc2ed1ae166816d5eb4eb0c1049 to your computer and use it in GitHub Desktop.
Save gaverdugo/35c5fbc2ed1ae166816d5eb4eb0c1049 to your computer and use it in GitHub Desktop.
const express = require("express");
const next = require("next");
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();
app
.prepare()
.then(() => {
const server = express();
server.get("/post/:slug", (req, res) => {
const actualPage = "/post";
const queryParams = { slug: req.params.slug, apiRoute: "post" };
app.render(req, res, actualPage, queryParams);
});
server.get("/page/:slug", (req, res) => {
const actualPage = "/post";
const queryParams = { slug: req.params.slug, apiRoute: "page" };
app.render(req, res, actualPage, queryParams);
});
server.get("/category/:slug", (req, res) => {
const actualPage = "/category";
const queryParams = { slug: req.params.slug };
app.render(req, res, actualPage, queryParams);
});
server.get("/author/:name", (req, res) => {
const actualPage = "/author";
const queryParams = { name: req.params.name };
app.render(req, res, actualPage, queryParams);
});
server.get("/_preview/:id/:wpnonce", (req, res) => {
const actualPage = "/preview";
const queryParams = { id: req.params.id, wpnonce: req.params.wpnonce };
app.render(req, res, actualPage, queryParams);
});
server.get("*", (req, res) => {
return handle(req, res);
});
server.listen(3000, err => {
if (err) throw err;
console.log("> Ready on http://localhost:3000");
});
})
.catch(ex => {
console.error(ex.stack);
process.exit(1);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment