#node.js #server #graphql #apollo #fastify
Вопрос:
Здравствуйте, я хочу запустить fastify с файлами сборки react для интерфейса. Я не знаю, почему, когда я запускаю свой сервер, он останавливается после запуска.
запуск пряжи v1.22.10 $ узел dist/src/index.js Сервер готов к работе на порту 4000 за 3,03 секунды.
мой код:
app.register((instance, opts, next) => {
instance.register(fastifyStatic, {
root: path.join(__dirname, "build"),
prefix: "/*/",
});
next();
});
server.start().then(() => {
app.register(server.createHandler({ path: "/graphql", cors: corsOptions }));
app.listen(PORT, "0.0.0.0", (err) => {
if (err) {
console.error(err);
} else {
console.log("Server is ready at port 5000");
}
});
});
Комментарии:
1. Кто является переменной сервера? Вы должны проверить наличие аргумента ошибки в обратном вызове прослушивания
2. @ManuelSpigolon получил ошибку, но проблема в том, что он не перенаправит все маршруты в папку сборки
3. не могли бы вы поделиться маршрутом стека?
4. @ManuelSpigolon Спасибо вам за ваше терпение. Мне удалось перенаправить все на мою сборку react. Но теперь у меня проблема с игровой площадкой. Я все еще могу получить доступ к игровой площадке.
Ответ №1:
Я нашел решение. Но у меня все еще есть доступ на игровую площадку. Обновится, если я это выясню.
app.register((instance, opts, next) => {
instance.register(fastifyStatic, {
root: path.join(__dirname, "build"),
prefix: "/",
});
instance.setNotFoundHandler((req, res) => {
res.sendFile("index.html", path.join(__dirname, "build"));
});
next();
});