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('/portfolio/:id', (req, res) => {
    // Should verify that the id exists and throw a 404 if not
    const actualPage = '/portfolio-item'
    const queryParams = { id: req.params.id }
    app.render(req, res, actualPage, queryParams)
  })

  server.get('*', (req, res) => {
    return handle(req, res)
  })

  const port = process.env.PORT || 8080

  server.listen(port, (err) => {
    if (err) throw err
    console.log(`> Ready on http://localhost:${port}`)
  })
})
.catch((ex) => {
  console.error(ex.stack)
  process.exit(1)
})

@@ -188,16 +188,20 @@
 epare()%0A
+    
 .then(()
@@ -202,24 +202,30 @@
 hen(() =%3E %7B%0A
+      
   const serv
@@ -240,16 +240,318 @@
 ress()%0A%0A
+        server.use((req, res, next) =%3E %7B%0A            const test = /%5C?%5B%5E%5D*%5C//.test(req.url);%0A            if (req.url.substr(-1) === '/' && req.url.length %3E 1 && !test) %7B%0A                res.redirect(301, req.url.slice(0, -1));%0A            %7D else %7B%0A                next()%0A            %7D%0A        %7D)%0A%0A      
   server
@@ -585,24 +585,32 @@
 , res) =%3E %7B%0A
+        
     // Shoul
@@ -660,16 +660,24 @@
  if not%0A
+        
     cons
@@ -709,16 +709,24 @@
 o-item'%0A
+        
     cons
@@ -763,16 +763,24 @@
 ms.id %7D%0A
+        
     app.
@@ -823,20 +823,32 @@
 rams)%0A  
-%7D)%0A%0A
+      %7D)%0A%0A      
   server
@@ -869,24 +869,32 @@
 , res) =%3E %7B%0A
+        
     return h
@@ -911,20 +911,32 @@
  res)%0A  
-%7D)%0A%0A
+      %7D)%0A%0A      
   const 
@@ -968,16 +968,22 @@
 %7C 8080%0A%0A
+      
   server
@@ -1003,24 +1003,32 @@
  (err) =%3E %7B%0A
+        
     if (err)
@@ -1038,16 +1038,24 @@
 row err%0A
+        
     cons
@@ -1107,14 +1107,28 @@
 )%0A  
-%7D)%0A%7D)%0A
+      %7D)%0A    %7D)%0A    
 .cat
@@ -1140,16 +1140,22 @@
 x) =%3E %7B%0A
+      
   consol
@@ -1172,16 +1172,22 @@
 .stack)%0A
+      
   proces
@@ -1196,11 +1196,15 @@
 exit(1)%0A
+    
 %7D)%0A

Handle trailing slashes