ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Create React App. ΠΠ»Ρ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠΈΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ GoIT ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΆΠΌΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«Use this templateΒ»
ΠΈ Π²ΡΠ±Π΅ΡΠΈ ΠΎΠΏΡΠΈΡ
Β«Create a new repositoryΒ»
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°ΠΏΠΎΠ»Π½ΠΈ ΠΏΠΎΠ»Π΅
Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠ±Π΅Π΄ΠΈΡΡ ΡΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ
Β«Create repository from templateΒ»
.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Settings
> Actions
> General
ΠΊΠ°ΠΊ
ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΡΠΎΡΠΊΡΠΎΠ»ΠΈΠ² ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°, Π² ΡΠ΅ΠΊΡΠΈΠΈ Β«Workflow permissionsΒ»
Π²ΡΠ±Π΅ΡΠΈ
ΠΎΠΏΡΠΈΡ Β«Read and write permissionsΒ»
ΠΈ ΠΏΠΎΡΡΠ°Π²Ρ Π³Π°Π»ΠΎΡΠΊΡ Π² ΡΠ΅ΠΊΠ±ΠΎΠΊΡΠ΅. ΠΡΠΎ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ-ΡΠ°Π±Π»ΠΎΠ½Π°. ΠΠ°Π»Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΠΉ Ρ Π½ΠΈΠΌ ΠΊΠ°ΠΊ Ρ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉ Π΅Π³ΠΎ ΡΠ΅Π±Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΏΠΈΡΠΈ ΠΊΠΎΠ΄, Π΄Π΅Π»Π°ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉ ΠΈΡ Π½Π° GitHub.
- Π£Π±Π΅Π΄ΠΈΡΡ ΡΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° LTS-Π²Π΅ΡΡΠΈΡ Node.js. Π‘ΠΊΠ°ΡΠ°ΠΉ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ Π΅Ρ Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
npm install
. - ΠΠ°ΠΏΡΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ
npm start
. - ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:3000. ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠ΄Π°ΠΊΡΠ½ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π»ΠΈΠ½ΡΠΈΠ½Π³, ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈ
Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡΡΡ Π½Π° GitHub Pages, Π² Π²Π΅ΡΠΊΡ gh-pages
, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ
Π²Π΅ΡΠΊΠ° main
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΏΡΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΠ°ΠΉΠ»Π΅ package.json
ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅ homepage
, Π·Π°ΠΌΠ΅Π½ΠΈΠ²
your_username
ΠΈ your_repo_name
Π½Π° ΡΠ²ΠΎΠΈ, ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° GitHub.
"homepage": "https://your_username.github.io/your_repo_name/"
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Settings
> Pages
) ΠΈ
Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π·Π΄Π°ΡΡ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ /root
Π²Π΅ΡΠΊΠΈ gh-pages
, Π΅ΡΠ»ΠΈ
ΡΡΠΎ Π½Π΅Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π‘ΡΠ°ΡΡΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΊΡΠ°ΠΉΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ Π²ΠΎΠ·Π»Π΅ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
- ΠΠ΅Π»ΡΡΠΉ ΡΠ²Π΅Ρ - Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠ° ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- ΠΠ΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ - Π΄Π΅ΠΏΠ»ΠΎΠΉ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
- ΠΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ - Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π»ΠΈΠ½ΡΠΈΠ½Π³Π°, ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ»ΠΈΠΊΠ½ΡΠ² ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅, ΠΈ Π²
Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Details
.
Π§Π΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ, ΠΆΠΈΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ homepage
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ
ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΆΠΈΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
https://goitacademy.github.io/react-homework-template.
ΠΡΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°, ΡΠ±Π΅Π΄ΠΈΡΡ ΡΡΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Console
Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ
ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΏΡΡΡΠΌΠΈ ΠΊ CSS ΠΈ JS ΡΠ°ΠΉΠ»Π°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° (404). Π‘ΠΊΠΎΡΠ΅Π΅
Π²ΡΠ΅Π³ΠΎ Ρ ΡΠ΅Π±Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° homepage
Π² ΡΠ°ΠΉΠ»Π΅ package.json
.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ react-router-dom
Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ,
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ <BrowserRouter>
, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² ΠΏΡΠΎΠΏΠ΅
basename
ΡΠΎΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π‘Π»Π΅Ρ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
<BrowserRouter basename="/your_repo_name">
<App />
</BrowserRouter>
- ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΡΠ° Π² Π²Π΅ΡΠΊΡ
main
GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ (GitHub Action) ΠΈΠ· ΡΠ°ΠΉΠ»Π°.github/workflows/deploy.yml
. - ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π³Π΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΡΠΈΠ½Π³ ΠΈ ΡΠ±ΠΎΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ.
- ΠΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΡΠΎΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²Π΅ΡΠΊΡ
gh-pages
. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π² Π»ΠΎΠ³Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.