400 (неверный запрос) и не может найти manifest.json - PullRequest
0 голосов
/ 10 декабря 2018

При развертывании heroku говорит мне, что моя сборка успешна, но я получаю Failed to load resource: the server responded with a status of 400 (Bad Request) для значка и манифеста, а также Manifest: Line: 1, column: 1, Unexpected token. Lighthouse говорит мне, что он вообще не связан с моим manifest.json.Я не уверен, связаны ли они вообще, и если это так, я задам новый вопрос.Я использую Reactjs с сервером узлов.

Вот мой server.js

const express = require("express");
const bodyParser = require("body-parser");
const path = require("path");
const app = express();
const PORT = process.env.PORT || 3001;

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

if (process.env.NODE_ENV === "production") {
   app.use(express.static("client/build"));
}

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


app.listen(PORT, function() {
  console.log(`?  ==> API Server now listening on PORT ${PORT}!`);
});

Вот глава моего index.html

<head>
    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1, 
    shrink-to-fit=no">
    <meta name="theme-color" content="#000000">
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <title>React App</title>
</head>

Это моя файловая структура

Это мой репозиторий github

Дайте мне знать, если вам нужна дополнительная информация, если это повторный вопрос, или еслиэти проблемы не связаны, поэтому я могу действовать соответственно.

1 Ответ

0 голосов
/ 06 января 2019

У меня была такая же проблема после развертывания моих react-app на firebase-hosting

manifest.json и favicon.ico дал 400 Bad Request в network вкладке на Google-Chrome DevTools

После запуска firebase init, если вы не набрали build, когда firebase спрашивал Что вы хотите использовать в качестве публичного каталога?(public) тогда вам нужно будет перейти к файлу firebase.json в корневой папке проекта и вручную сменить хостинг -> "public": "build"

Это будет что-то подобное

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

Если вы deploying react app on firebase, отметьте , это и , это также полезно.

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