Skip to content

server.js

ts
const httpProxy = require('http-proxy')
const http = require('http')
const next = require('next')

const isDev = process.env.APP_ENV !== 'production'

const app = next({
  dev: isDev
})
const handle = app.getRequestHandler()
const proxy = httpProxy.createProxyServer({
  changeOrigin: true
})

app
  .prepare()
  .then(() => {
    const server = http.createServer((req, res) => {
      if (req.url.startsWith('/api/')) {
        proxy.web(req, res, {
          target: process.env.API_SERVER
        })
      } else {
        handle(req, res)
      }
    })
    server.listen(process.env.PORT)
  })
  .catch(err => {
    console.trace(err)
  })

package.json

json
  "scripts": {
    "dev": "node server.js",
      ···
  }