Створення і клонування своєї збірки React на базі Create React App
Last updated
Last updated
Створимо і налаштуємо збірку React, яку зможемо потім використовувати як шаблон для всіх наступних наших проєктів. Далі приблизна покрокова інструкція.
Створимо новий репозиторій на сайті GitHub: + -> New repository
Дамо назву нашому репозиторію-шаблону React. Можемо додати опис нашому репозиторію. Робимо репозиторій публічним.
Клонуємо створений проєкт локально на компʼютер і відкриваємо його в VSCode.
Відкриваємо термінал і розгортаємо застосунок React цією командою.
Тепер у нас є розгорнутий проєкт React із такою структурою:
Файл конфігурації проєкту package.json
Тека node_modules в яку будуть встановлюватися всі додаткові модулі
Тека public з якою ми мало працюватимемо, але в якій лежить головний файл index.html в якому вестиметься наш проєкт.
.gitignore - файл в якому прописано правила ігнорування файлів і тек при синхронізації з GitHub
README.md - файл з описом нашого проєкту. його можна правити. Це той опис, який ми бачимо, коли відкриваємо сторінку репозиторія на GitHub
І головна робоча тека src із головним файлом застосунку index.js
Запустимо наш проєкт і переконаємося, що він працює. Виконаємо в терміналі таку команду:
Також автоматично відкриється і браузер за цією адресою.
Сконфігуруємо базовий URL нашого проєкту (для зручної роботи з посиланнями на файли проєкту). Для цього в корені проєкту створимо файл jsconfig.json із таким кодом:
Якщо є бажання, можна також створити кастомний файл налаштування форматування коду для Prettier (це на випадок, якщо доведеться працювати в команді та потрібні будуть уніфіковані правила оформлення вихідного коду). Створимо в корені проєкту файл .prettierrc.json і в ньому помістимо, наприклад такий код:
Створимо в корені проєкту теку .github, а в ній теку workflows, а в ній файл deploy.yml з таким вмістом:
В цьому файлі прописана автоматизація, як буде відбуватися деплой проєкту після оновлення головної гілки на GitHub.
Збирати проєкт ми будемо із файлів з головної гілки main.
Після цього ми встановимо всі необхідні пакети, проженемо код на лінтері (перевірка коду), і побудуємо проєкт у теку build. Назва гілки буде gh-pages.
Потрібно ще налаштувати лінтер. Це додатковий пакет, який перевіряє код на помилки. Деплой на GitHub pages буде відбуватися тільки у разі відсутності помилок. Якщо якісь помилки все ж таки допущено, то на сторінці репозиторію на сайті GitHub ми побачимо звіт про помилки із їх вказанням і настановами, що потрібно виправити.
Підправимо наш файл конфігурації проєкту package.json. Додамо такі налаштування:
Тут sasha-khomiak - назва профілю на GitHub, а my-react-template - назва репозиторію.
У файлі package.json в скриптах потрібно дописати додатковий скрипт.
Відтак налаштування матимуть приблизно такий вигляд:
У файлі index.html в теці public потрібно дописати в тезі <head> такий скрипт
А також потрібно в теці public створити файл 404.html із таким вмістом:
Тепер потрібно внести налаштування на самому GitHub. Для цього потрібно дозволити виконання GitHub Actions (як на скрінах) і зберегти зміни.
Settings -> General -> Allow all actions reusable workflows
А внизу сторінки вибрати Read and write permissions і Allow GitHub Actions to create and approve pull requests
Тепер можна в GitHub Desktop закомітити всі зміни та опублікувати гілку.
На сторінці репозиторію видно індикатор статусу виконання деплою.
Жовтий кружечок - операція виконується,
зелена галочка - все успішно задеплоєно,
червоний хрестик - виникла помилка. Натиснувши на символ хрестика можна отримати звіт про помилку.
Тепер потрібно отримати сторінку за якою ми зможемо переглянути наш застосунок. У налаштуваннях Settings -> Pages обираємо гілку gh-pages і натискаємо Save. чекаємо хвилинку-дві та отримаємо посилання на проєкт.
Тепер налаштуємо наш проєкт так, щоб ми могли створити копію цього проєкту прямо на GitHub сторінці. Settings -> General -> Template repository
Щоб не повторювати вручну всі ці налаштування проєкту ми можемо його просто продублювати - створити копію і внести певні незначні корективи для подальної роботи. Розглянемо порядок дій.
На сторінці репозиторію натискаємо кнопку Use this template та обираємо Create a new repository.
Даємо імʼя новому репозиторію і зберігаємо натиснувши кнопку Create repository.
Одразу налаштуємо, щоб працювали GitHub Actions.
Settings -> Actions -> General
Вибираємо Read and write permissions і Allow GitHub Actions to create and approve pull requests
Клонуємо репозиторій на локальний компʼютер
У VSCode вносимо правки в файл package.json. Вказуємо нове імʼя застосунку і новий свій профіль GitHub (якщо інший користувач створив із шаблону застосунок).
Встановлюємо всі залежності
Запускаємо локально проект командою
Внесемо якісь зміни у файл App.js, щоб переконатися, що наші правки працюють.
У GitHub Desktop зробимо комміт і опублікуємо його.
Відкриваємо репозиторій на GitHub і чекаємо успішного виконання деплою.
Налаштовуємо gh-pages і чекаємо поки зʼявиться посилання на живу сторінку. Settings -> Pages -> Branch -> gh-pages
На цьому можемо зупинитися. Але немає межі досконалості. Тому кожен може налаштувати під себе свою конфігурацію проекту React.
Покликання:
Після цього запуститься сервер і в консолі зʼявиться повідомлення, що ми можемо переглянути проєкт за адресою в браузері :
Тепер потрібно налаштувати (розміщення на сервері) нашого проєкту на GitHub-pages. Це роблять за допомогою автоматизатора . Також можна встановити додатково розширення . Це значний шматок інформації. Тут буде використано необхідний мінімум.
Встановимо :