The first step is to implement basic server-side rendering on the back end. We are going to extend this functionality later to validate the authentication of the user. An authenticated user allows us to execute Apollo or GraphQL requests, and not only to render the pure React markup. First, we need some new packages. Because we are going to use universal rendered React code, we require an advanced webpack configuration; hence, we will install the following packages:
npm install --save-dev webpack-dev-middleware webpack-hot-middleware @babel/cli
Let's quickly go through the packages that we are installing here. We only need these packages for development:
- The first webpack module, called webpack-dev-middleware, allows the back end to serve bundles generated by webpack, without creating files, but from memory. It is convenient for cases in which we need to...