Однако, Next. js всегда требует создания страницы
Нет, это не так, вы можете использовать пользовательский сервер и решить, если Маршрут должен или не должен отображать страницу.
Простой пример с express. js:
рендеринг страницы :
server.get('/my-page', (req, res) => {
return app.render(req, res, '/mypage', {...req.params, ...req.query})
})
конечная точка API :
server.post("/my-endpoint", async (req, res) => {
res.json({});
});
Обратите внимание, что для запуска пользовательского сервера вам необходимо обновить скрипты в пакете. json примерно так:
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js"
}
Если вы используете Koa. js есть официальный пример для нестандартного сервера с koa здесь