Skip to content

Instantly share code, notes, and snippets.

@SergioGeeK7
Created February 21, 2020 13:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SergioGeeK7/43e1fbc67ad3f31ccb8162ce53280d3f to your computer and use it in GitHub Desktop.
Save SergioGeeK7/43e1fbc67ad3f31ccb8162ce53280d3f to your computer and use it in GitHub Desktop.
NextJS + Express
// Server.js
const express = require('express');
const next = require('next');
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
// compress files
server.use(
"/_next",
expressStaticGzip("./.next", {
enableBrotli: true,
index: false,
orderPreference: ["br", "gz"],
setHeaders: res => {
// cache files
res.setHeader("Cache-Control", "public, max-age=31536000");
}
})
);
server.all('*', (req, res) => {
return handle(req, res)
});
server.listen(port, err => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment