ReactJS Ошибка развертывания Heroku: не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) - PullRequest
0 голосов
/ 17 марта 2020

У меня есть приложение ReactJS, которое я пытаюсь развернуть на heroku. Локально работает, но не развертывается правильно! На странице появляется сообщение Cannot GET /

Ссылка приложения: https://nameless-spire-06291.herokuapp.com/

Ошибки консоли: 1. Не удалось загрузить ресурс: сервер ответил с статус 404 (не найден) 2. Отказался загружать образ 'https://nameless-spire-06291.herokuapp.com/favicon.ico', поскольку он нарушает следующую директиву политики безопасности содержимого: "default-sr c 'none'". Обратите внимание, что 'img-sr c' не был задан явно, поэтому в качестве запасного варианта используется 'default-sr c'.

  1. Вот моя структура приложения в github https://github.com/sollama/reactJS-portfolio

  2. Вот мой сервер. js для справки:

    const express = require('express')
    const app = express()
    const path = require('path')
    const port = process.env.PORT || 3001
    
    app.use('/', express.static(path.join(__dirname, 'public')))
    
    app.listen(port, () => console.log("Listening on Port", port)) 
    
  3. Пакет. json:

    "scripts": {
        "dev": "parcel src/index.html",
        "build": "parcel build src/index.html",
        "start": "node server.js" ,
        "heroku-postbuild":"npm run build"
    },
    

Супер новый для всего этого, так что я не уверен, где искать дальше, и я был бы признателен за любые идеи!

1 Ответ

0 голосов
/ 18 марта 2020

Выходной каталог посылки по умолчанию - dist, а не public. Это каталог, который вы хотите передать промежуточному программному обеспечению express.static, чтобы он искал ресурсы в правильном каталоге.

app.use('/', express.static(path.join(__dirname, 'dist')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...