Могу ли я изменить имя общей папки в create-реагировать на приложение без извлечения? - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть проект create-реагировать-приложение, которое я настроил (экспресс и узел, подключающийся к базе данных mysql на сервере, на случай, если это имеет значение), и он работал просто отлично.Мой менеджер проекта сказал мне, что мне нужно изменить имя «публичного» каталога на «статический» (этот каталог содержит / будет содержать мои статические файлы, такие как мой index.html и любой носитель, который мне нужно обслуживать)для правильного развертывания, однако, единственное решение, которое мне удалось найти, - это извлечь, чтобы я мог изменить значение 'PUBLIC_URL'.В настоящее время я получаю сообщение об ошибке «npm run start», в котором записывается: «Не удалось найти необходимый файл.Имя: index.html ', и он все еще ищет в общедоступном каталоге (который я уже изменил, чтобы называть его «статическим»).Нигде в моем коде я не ссылаюсь на общую папку.

Насколько я понимаю (кто-то, пожалуйста, исправьте меня, если я ошибаюсь), переменная PUBLIC_URL задает create-реагировать-приложение как путь к общей папке.Я хотел бы изменить это на статическую папку, но единственное решение, которое я нашел, казалось возможным, заключалось в удалении и последующем изменении переменной вручную.Есть ли способ установить эту переменную без извлечения или сделать какой-то другой обходной путь для изменения этого каталога, и если нет, то какой самый простой способ заставить это работать (я бы предпочел не извлекать, но сделаю это, если этотолько так) ... Мне действительно нужен каталог для изменения имен, и я нахожусь разочарованным тем, что я считаю довольно простым изменением.

Спасибо!

edit: вот мой package.json:

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.5.2",
    "react-dom": "^16.5.2",
    "react-scripts": "1.1.5"
  },
  "scripts": {
    "start": "PORT=8080 && react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

PUBLIC_URL - это переменная, которую вы можете установить.

Вы можете установить ее в своей консоли

export PUBLIC_URL="/static"

Создать приложение реакции будет принимать ее от process.env.PUBLIC_URL

Вы можете прочитать больше об этом в потоке запросов на получение для реализации этой функции

0 голосов
/ 22 сентября 2018

В вашем package.json замените строку build на:

"build": "react-scripts build && rm -rf static && mv build static"
...