Несколько приложений React, обслуживаемых сервером Express, аварийно завершают работу при развертывании в Heroku, но работают локально - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь развернуть сервер Express, который обслуживает несколько приложений React для Heroku. Это приложение отлично работает локально, но после развертывания на heroku я могу получить доступ только к домашней странице, но когда я пытаюсь попасть на какую-либо конечную точку API, приложение вылетает.

это logu heroku heroku logs

Это сервер . js file

const express = require("express");
const app = express();
const connectDB = require("./config/db");
const path = require("path");

// Connect DB
connectDB();

// Init Middleware
app.use(express.json({ extended: false }));

// Api Routes
app.use("/api/auth", require("./routes/api/auth"));
app.use("/api/users", require("./routes/api/users"));
app.use("/api/clientes", require("./routes/api/clientes"));
app.use("/api/local", require("./routes/api/local"));

// Serve static assets in production
if (process.env.NODE_ENV === "production") {
  app.use(
    "/milocal",
    express.static(path.join(__dirname, "client/locales/build"))
  );
  app.get("/milocal/*", (req, res) => {
    res.sendFile(path.join(__dirname, "/client/locales/build/index.html"));
  });

  app.use("/", express.static(path.join(__dirname, "client/usuarios/build")));
  app.get("/*", (req, res) => {
    res.sendFile(path.join(__dirname, "/client/usuarios/build/index.html"));
  });
}

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => console.log(`Server started on port ${PORT}`));

Это сценарии в пакете . json file

"scripts": {
  "start": "node server.js",
  "server": "nodemon server",
  "usuarios": "npm start --prefix client/usuarios",
  "locales": "npm start --prefix client/locales",
  "dev": "concurrently \"npm run server\" \"npm run usuarios\" \"npm run locales\"",
  "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client/usuarios && npm run 
    build --prefix client/usuarios && npm install --prefix client/locales && npm run build --prefix 
    client/locales"
},

Здание завершено правильно, поэтому проблем нет.

Это procfile file

web: node server.js

I ' я пытался использовать web: npm start , но результаты, где то же самое

, я использую индекс Usuar ios. html как root, поэтому я отредактировал Пакет Locales. json файлов для использования / milocal в качестве домашней страницы

"homepage": "/milocal"

Я знаю, что в журналах есть проблема с запуском скрипта, но я не могу его найти.

Как я уже сказал, после развертывания я могу получить доступ к домашней странице (root route /) и / milocal, это обе страницы входа в систему, но если я пытаюсь войти в систему (нажмите конечную точку API), то здесь приложение Cra sh. Локально я не получаю никаких ошибок.

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