Ускорьте остановки в производственном режиме

#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();
});