Я пытаюсь развернуть сервер Express, который обслуживает несколько приложений React для Heroku. Это приложение отлично работает локально, но после развертывания на heroku я могу получить доступ только к домашней странице, но когда я пытаюсь попасть на какую-либо конечную точку API, приложение вылетает.
это logu heroku
Это сервер . 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. Локально я не получаю никаких ошибок.