Rather than in the root directory, I want to keep all my backend related files inside a folder named ‘server’. The problem is now the frontend won’t load properly as it can’t find the ‘pages’ directory. I remember there was a way to set the directory somehow when initializing the app but I don’t remember the specifics. Can someone please help me with this?
server/index.js:
const express = require('express') const next = require('next') const dev = process.env.NODE_ENV !== 'production' const app = next({ dev, // some config property that I don't remember }) app.prepare().then(() => { const server = express() server.listen(3000, () => console.log('> Ready on http://localhost:3000')) })
Advertisement
Answer
You can read from the documentation:
The next API is as follows: next(opts: object) Supported options: dev (bool) whether to launch Next.js in dev mode - default false dir (string) where the Next project is located - default '.' quiet (bool) Hide error messages containing server information - default false conf (object) the same object you would use in next.config.js - default {} Then, change your start script to NODE_ENV=production node server.js.
It is dir
option.