With the next.config.js we can do some neat things, such as multi-SPA routing.
If you create yourself two Next.js apps, the “main” one is named home in my example and the second is a catalog and we will be able to navigate to.
Go to the next.config.js of the home app. and add the catalog changes listed below
const nextConfig = { reactStrictMode: true, async rewrites() { return [ { source: '/:path*', destination: '/:path*' }, { source: '/catalog', destination: 'http://localhost:3001/catalog' }, { source: '/catalog/:path*', destination: 'http://localhost:3001/catalog/:path*' }, ] } }
in the catalog app go to it’s next.config.js and have it look like this
const nextConfig = { basePath:'/catalog' }
then when you click a hyperlink to your second app it will actually appear as if it’s simply a page on the first app, with the same port.
Code is available on github as multiSpa.