Как я могу смонтировать надежный сервер с 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.