Не получается производственная сборка в приложении create-react-app - PullRequest
0 голосов
/ 28 мая 2020

У меня есть проект, использующий create-response-app .

Я не работал над ним в режиме разработки (используя scripts / start ). После нескольких недель работы над моим проектом я захотел развернуть его для производства.

Я запустил scripts / build .

Это создало структуру папок, которая выглядит следующим образом :

enter image description here

Я предполагаю, что index. html - это точка входа для всего этого, поэтому я запустил index. html.

Все, что я получаю, это пустой экран с некоторыми ошибками 404.

enter image description here

Я совершенно не понимаю, что это значит ..!

Я попытался взглянуть на файл index. html, но он просто содержит запутанный javascript. (кажется, что приложение create-response-app скрывает все, что может быть полезно при решении проблемы).

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <link rel="shortcut icon" href="/favicon.ico"/>
    <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/>
    <meta name="theme-color" content="#000000"/>
    <link rel="manifest" href="/manifest.json"/>
    <title>React App</title>
    <link href="/static/css/main.a5508311.chunk.css" rel="stylesheet">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script>!function (l) {
    function e(e) {
        for (var r, t, n = e[0], o = e[1], u = e[2], f = 0, i = []; f < n.length; f++) t = n[f], p[t] && i.push(p[t][0]), p[t] = 0;
        for (r in o) Object.prototype.hasOwnProperty.call(o, r) && (l[r] = o[r]);
        for (s && s(e); i.length;) i.shift()();
        return c.push.apply(c, u || []), a()
    }

Как мне перевести приложение create-react-app из разработки в производство?

ОБНОВЛЕНИЕ:

Я решил обновить сгенерированный файл index. html и поставить '.' перед моими путями.

<script src="/static/js/1.e82eda2e.chunk.js"></script>

становится:

<script src="./static/js/1.e82eda2e.chunk.js"></script>

Теперь это работает (вроде). Так много, что это нестандартное решение !!

Как предотвратить путаницу в моих путях в приложении create-response-app при генерации индекса производственной сборки. html? И почему он вообще это делает ??!

ОБНОВЛЕНИЕ 2:

Покопавшись в inte rnet Я обнаружил, что вы можете добавить

  "homepage": "./",

Я сделал это.

Теперь мое приложение работает, но изображения не загружаются. Также моя реакция маршрутизации нарушена. Не работает обновление ссылок ....

1 Ответ

0 голосов
/ 28 мая 2020

Лучший способ сделать это - просто запустить его локально с помощью serve:

  1. npm install serve -g
  2. npm run build
  3. serve -s build

Это создаст локальный сервер, работающий на порту 5000 на http://localhost: 5000

...