Main.js содержит html при развертывании, что приводит к пустой странице

У меня есть реагирующее приложение, которое я раньше (около 4 месяцев назад) мог прекрасно развернуть на хостинге Firebase. Теперь, когда я запускаю firebase deploy, страница отображается пустой. Когда я захожу в devtools, он показывает, что main.[hashcode].js содержит тот же html, что и мой index.html, что, вероятно, означает, что у меня какая-то проблема с путями, но в моем коде я не могу найти нигде, что бы показывало этот. Папка сборки в моем проекте имеет правильный файл main.[hashcode].js с соответствующим JavaScript. Мой проект также находится в корневом каталоге.

Использование Firebase Serve работает нормально, равно как и локальный запуск приложения.

Может ли кто-нибудь помочь мне определить, что именно происходит не так?

Я использую узел v20.15.0, инструменты Firebase v13.11.4, Firebase v10.12.2 и npm v8.3.1.

Я попробовал это с помощью vite и создал приложение реагирования с теми же результатами. Я попытался изменить свойство домашней страницы в моем package.json, но ничего не получилось.

Действия по воспроизведению Создайте приложение Create React по умолчанию. Беги firebase init. Добавьте хостинг и установите общедоступный каталог для сборки, затем «да» для настройки как одностраничного приложения и «нет» для автоматической сборки. Запустите npm run build, а затем firebase deploy, и страница станет пустой.

Я также попытался сказать «Нет» переписыванию index.html, но это не решило проблему, и мой main.[hashcode].js выдает ошибку 404 в devtools.

Вот репозиторий GitHub с простым приложением реагирования, которое отображается пустым: https://github.com/nicholasmanha/simpleReact

и соответствующее развертывание Firebase: https://test2-5dd4c.web.app/

Вот мой firebase.json:

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

package.json:

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

index.html в папке сборки:

<!DOCTYPE html>
<html lang = "en">
  <head>
    <meta charset = "utf-8" />
    <link rel = "icon" href = "/favicon.ico" />
    <meta name = "viewport" content = "width=device-width,initial-scale=1" />
    <meta name = "theme-color" content = "#000000" />
    <meta
      name = "description"
      content = "Web site created using create-react-app"
    />
    <link rel = "apple-touch-icon" href = "/logo192.png" />
    <link rel = "manifest" href = "/manifest.json" />
    <title>React App</title>
    <script defer = "defer" src = "/static/js/main.3dd63bcb.js"></script>
    <link href = "/static/css/main.f855e6bc.css" rel = "stylesheet" />
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id = "root"></div>
  </body>
</html>

каталог моего проекта:

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

переход на Firebase v10.7.2 и Firebase-tools 12.9.1 сработал для меня (хотелось бы, чтобы кто-нибудь объяснил, почему)

Другие вопросы по теме

Похожие вопросы

Как визуализировать JSX, возвращаемый асинхронной функцией, вызванной изнутри Array.Map() в React?
Реакция: сброс группы переключателей пользовательского интерфейса материала в форме Formik не работает
Как создать универсальный крючок для извлечения данных в TypeScript для API с различными структурами ответов?
Можно ли надежно буферизовать исходящие POST-запросы из автономного React PWA?
Обертка с помощью React.StrictMode в Next.js
Как я могу создать переводчик, который конвертирует язык моего динамического сайта с английского на французский?
Использование NPM для создания приложения React: СЕРЬЕЗНОЕ ИЗМЕНЕНИЕ: webpack <5 используется для включения полифилов для основных модулей node.js по умолчанию. Это уже не так
Как смоделировать функцию внутри компонента реагирования с помощью Jest?
Как передать состояние от дочернего компонента к родительскому в Next.js?
React Query – использовать ответ от выборки списка на setQueryData для каждого элемента?