为 Next.js 设置服务器文件的自定义目录

Setting custom directory for server files for Next.js

我想将所有与后端相关的文件保存在名为 'server' 的文件夹中,而不是在根目录中。现在的问题是前端无法正确加载,因为它找不到 'pages' 目录。我记得有一种方法可以在初始化应用程序时以某种方式设置目录,但我不记得具体细节了。有人可以帮我解决这个问题吗?

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'))
})

您可以阅读 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.

dir选项。