Как вызвать backend с маршрутом app.get ('*') в Express - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть следующая express. js конфигурация:

  app.use(morgan("dev"));
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({
    extended: true
  }));
  app.use(cors());

  app.use("/user", userRoutes);
  app.use("/case", caseRoutes);
  app.use("/admin", adminRoutes);
  app.use("/auth", authRoutes);
  app.use("/files", fileRoutes);
  app.use("/fileAws", fileAwsRoute);
  app.use("/codes", codeRoute);
  app.use("/payments", paymentsRoute);

  if (process.env.NODE_ENV === "production") {
    // Serve any static files
    app.use(express.static(path.join(__dirname, "../../client/build")));

    // Handle React routing, return all requests to React app
    app.get("*", function(req, res) {
      res.sendFile(path.join(__dirname, "../../client/build", "index.html"));
    });
  }

Я обслуживаю свой интерфейс из моего бэкэнда (Express). Это прекрасно работает во время развертывания, но у меня возникла проблема с развертыванием. В моей конфигурации мне нужно предоставить URL-адрес для обратного вызова для Intuit API:

exports.getIntuitRedirectUri = () => {
  return process.env.INTUIT_REDIRECT_URI || require("./config").QB.intuitRedirectURI;
};

В моей среде разработчика для этого задано следующее:

intuitRedirectURI: "http://localhost:5000/payments/callback"

Однако при развертывании приложение для Heroku, это не работает, так как я обслуживаю интерфейс из моего бэкэнда. Кроме того, я попытался сделать https://appname.herokuapp.com/payments/callback и /payments/callback, это также не работает. У кого-нибудь есть предложения о том, как получить доступ к этому обратному вызову из моего развернутого приложения в Heroku?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...