Приложение React работает локально, но имеет внутреннюю ошибку при развертывании в Heroku.Что не так с моим файлом express.js - PullRequest
0 голосов
/ 14 февраля 2019

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

// server.js

const express = require("express");
const app = express();
const path = require("path");
const port = process.env.PORT || 5000;

//for static files
//app.use(express.json());
app.use(express.static(path.join(__dirname, "client/build")));

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

// //for build mode
app.get("*", (req, res) => {
  res.sendFile(path.join(__dirname + "/client/public/index.html"));
});

//start server
app.listen(port, err => {
  if (err) {
    console.warn(err);
  }
  console.log("Listening on port " + port);
});

package.json { "name": "xxxx", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "client-install": "npm install --prefix client", "start": "node server/server.js", "server": "nodemon server/server.js", "client": "npm start --prefix client", "dev": "concurrently \"npm run server\" \"npm run client\"", "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "xxxxxxxx", "license": "MIT", "dependencies": { "body-parser": "^1.18.3", "concurrently": "^4.1.0", "dotenv": "^6.2.0", "express": "^4.16.4", "node-fetch": "^2.3.0" }, "engines": { "node": "10.x" } }

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