Как я могу смонтировать надежный сервер с nextjs, node и твердой библиотекой?

Я новичок в nextjs и node-solid-server. У меня есть простое приложение с node и nextjs. В моем api/solid маршруте моего приложения я пытаюсь добавить надежный сервер в качестве промежуточного программного обеспечения следующим образом:

const Ldnode = require('ldnode')
const Solid = require('solid-server')
import initMiddleware from '../../lib/init-middleware'

// Initialize the cors middleware
const solid = initMiddleware(
  Solid()

)

export default async function handler(req, res) {
  // Run solid
  await solid(req, res)

  // Rest of the API logic
  res.json({ message: 'Hello Everyone!' })
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

export default function initMiddleware(middleware) {
  return (req, res) =>
    new Promise((resolve, reject) => {
      middleware(req, res, (result) => {
        if (result instanceof Error) {
          return reject(result)
        }
        return resolve(result)
      })
    })
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
Однако когда я вхожу http://localhost:3000/api/solid в моем браузере у меня есть только index.html твердого сервера без каких-либо функций, как на изображении ниже:

У меня также есть GET http://localhost:3000/api/solid 401 (Unauthenticated) а также GET http://localhost:3000/common/css/bootstrap.min.css net::ERR_ABORTED 404 (Not Found).

Я что-то пропустил?

1 ответ

Node -solid-server - это монолит, который можно использовать как автономный экспресс-сервер или как библиотеку, которая позволяет монтировать его на существующий экспресс-сервер. С другой стороны, маршруты nextjs api выполняются в бессерверной реализации функции. Хотя вы не можете смонтировать node-solid-server в своем маршруте api таким образом, вы можете запустить его автономно и делать запросы к нему из своего приложения nextjs.

Другие вопросы по тегам