Помните время, когда вы пытались поделиться прогрессом с клиентом или хотели продемонстрировать свои следующие побочные проекты? Мы все были там, надеясь, что все может быть всего в нескольких кликах.

Не бойтесь, ваши пожелания были удовлетворены, теперь есть бесплатный и простой подход к развертыванию ваших приложений React.

gh-страницы

Представляю вам gh-pages, которые, как я цитирую, позволяют публиковать файлы в ветке gh-pages на GitHub (или в любой другой ветке где-либо еще).

Пакет автоматизирует рутинный шаг, необходимый для развертывания вашего реагирующего приложения на GitHub Pages, в три простых шага.

Технически этот пакет может помочь вам развернуть любой статический сайт, если базовый каталог статических файлов установлен соответствующим образом — подробнее об этом в шаге 2.

Шаг 1. Добавьте homepage к package.json

Описанный ниже шаг важен!

Если вы пропустите это, ваше приложение не будет правильно развернуто.

Откройте package.json и добавьте поле homepage для своего проекта:

“homepage”: “https://myusername.github.io/my-app",

или для пользовательской страницы GitHub:

“homepage”: “https://myusername.github.io",

или для страницы пользовательского домена:

“homepage”: “https://mywebsite.com",

Приложение Create React использует поле homepage для определения корневого URL-адреса в созданном HTML-файле.

Шаг 2. Установите gh-pages и добавьте deploy к scripts в package.json

Теперь при каждом запуске npm run build вы будете видеть шпаргалку с инструкциями по развертыванию на страницах GitHub.

Чтобы опубликовать его на https://myusername.github.io/my-app, запустите:

npm install — save gh-pages

В качестве альтернативы вы можете использовать yarn:

yarn add gh-pages

Добавьте следующие скрипты в свой package.json:

“scripts”: {
+ “predeploy”: “npm run build”,
+ “deploy”: “gh-pages -d build”,
“start”: “react-scripts start”,
“build”: “react-scripts build”,

Сценарий predeploy запустится автоматически перед запуском deploy.

Сценарий deploy автоматически развернет ваше приложение.

Примечание. Опция -d предназначена для установки базового каталога статических файлов. Установите его в соответствии с конфигурацией вашего проекта. Например, базовым каталогом по умолчанию для create-react-app является build, а для конфигурации webpackdist.

Если вы выполняете развертывание на странице пользователя GitHub вместо страницы проекта, вам потребуется внести еще одно изменение:

Настройте свои package.json скрипты, чтобы подталкивать развертывания к мастеру:

“scripts”: {
“predeploy”: “npm run build”,
- “deploy”: “gh-pages -d build”,
+ “deploy”: “gh-pages -b master -d build”,

Шаг 3. Разверните сайт, запустив npm run deploy

Затем запустите:

npm run deploy

Для страницы проекта убедитесь, что в настройках вашего проекта используется gh-pages

Наконец, убедитесь, что для параметра GitHub Pages в настройках вашего проекта GitHub установлено использование ветки gh-pages:

При желании настройте домен

Вы можете настроить собственный домен с помощью GitHub Pages, добавив файл CNAME в папку public/.

Ваш файл CNAME должен выглядеть так:

Копировать

mywebsite.com

Ресурсы

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

https://github.com/tchaub/gh-pages

https://create-react-app.dev/docs/deployment/#github-pages