Ошибка при развертывании приложения heroku (Cannot GET /) - PullRequest
0 голосов
/ 12 марта 2020

У меня проблемы с развертыванием моего приложения heroku (на самом деле я пытался развернуть его в течение недели, пробуя все, что я нашел в качестве решения). Я настроил все среды разработки по мере необходимости, но похоже, что после развертывания приложения файлы stati c не обслуживаются. После развертывания приложения я получаю следующее: Cannot GET /. В консоли я вижу: Не удалось загрузить ресурс: «сервер ответил со статусом 404 (не найден)», а также: «Отказался от загрузки изображения« https://freshgear.herokuapp.com/favicon.ico », поскольку он нарушает следующая директива Content Security Policy: "default-sr c 'none'". Обратите внимание, что 'img-sr c' не было задано явно, поэтому «default-sr c» используется как запасной вариант ».

Любая помощь будет высоко оценена!

Я опубликую свой код, чтобы дать некоторый контекст:

Это то, что у меня есть на сервере. js

const DB = process.env.DATABASE.replace(   '<PASSWORD>',   process.env.DATABASE_PASSWORD );

mongoose   .connect(DB, {
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true   })   .then(() => console.log('DB connection successful!'))   .catch(err => console.log(err));

Это то, что у меня в приложении. js:

if (process.env.NODE_ENV === 'production') {
  app.use(express.static(path.join(__dirname, 'client/build')), function (err) {
    if (err) {
      res.status(500).send(err)
    }
  });

  app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'client', 'build', 'index.html'), function (err) {
      if (err) {
        res.status(500).send(err)
      }
    })
  });
}

это мой пакет. json file:

{
  "name": "clear",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
  "client": "cd client && npm start",
  "server": "nodemon server.js",
  "build": "cd client && npm run build",
  "dev": "concurrently --kill-others-on-fail \"npm run server\" \"npm run client\"",
  "start": "node server.js",
  "heroku-postbuild": "cd client && npm install && npm install --only=dev --no-shrinkwrap && npm run build"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.19.0",
    "compression": "^1.7.4",
    "concurrently": "^5.1.0",
    "cookie-parser": "^1.4.4",
    "cors": "^2.8.5",
    "dotenv": "^8.2.0",
    "express": "^4.17.1",
    "express-favicon": "^2.0.1",
    "express-mongo-sanitize": "^1.3.2",
    "express-rate-limit": "^5.0.0",
    "helmet": "^3.21.1",
    "hpp": "^0.2.2",
    "html-to-text": "^5.1.1",
    "jsonwebtoken": "^8.5.1",
    "mongodb": "^3.5.4",
    "mongoose": "^5.7.1",
    "morgan": "^1.9.1",
    "multer": "^1.4.2",
    "ndb": "^1.1.5",
    "nodemailer": "^6.3.0",
    "npm": "^6.4.1",
    "path": "^0.12.7",
    "pug": "^2.0.4",
    "slugify": "^1.3.5",
    "stripe": "^7.9.1",
    "validator": "^11.1.0",
    "xss-clean": "^0.1.1"
  },
  "engines": {
    "node": "10.15.3",
    "npm": "6.10.3"
  },
  "devDependencies": {
    "cross-env": "^7.0.0",
    "concurrently": "^4.0.1"
  }
}

Это моя папка с файлами если это поможет:

enter image description here

Кроме того, вот что я вижу, когда бегу за хвостом:

2020-03-12T02: 17: 12.701800 + 00: 00 приложение [web.1]: приложение работает на порту 6689 ... 2020-03-12T02: 17: 13.112184 + 00: 00 heroku [web.1]: состояние изменилось с начала до 2020- 03-12T02: 17: 13.020682 + 00: 00 app [web.1]: соединение с БД успешно! 2020-03-12T02: 43: 48.761028 + 00: 00 heroku [маршрутизатор]: at = информационный метод = GET path = "/" host = freshgear.herokuapp.com request_id = 488bb9cb-5872-4bb c -bce6-e0db2446743b fwd = "45.48.78.101" dyno = web.1 connect = служба 0 мс = состояние 18 мс = 404 байта = 598 протокол = https

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