Using a custom Express.js server
Writing a custom Express.js server to render Next.js pages is easier than you might think. Let's create a new project and install the following dependencies:
yarn add express react react-dom next
Once we've installed these four packages, we can start writing a custom Express.js server. Let's create an index.js
file inside the project root and start by importing the required dependencies:
const { parse } = require('url'); const express = require('express'); const next = require('next');
We now need to instantiate the Next.js app, and we can do that by adding the following code right after the import statements:
const dev = process.env.NODE_ENV !== 'production'; const app = next({ dev });
Let's complete our server by writing the main
function, which takes every incoming GET
request and passes it to Next.js for server-side rendering:
async function main() { try...