ํ๋ก์ ํธ๋ฅผ ๋ค๋ฅธ ์ฌ๋๋ ๋ณผ ์ ์๋๋ก ๋ฐฐํฌํ๋ ์ฌ์ดํธ(๊นํ ํ์ด์ง, netlify, aws...)๋ ์ฌ๋ฌ ๊ณณ์ด ์์ง๋ง, ๊ทธ์ค์์๋ githubPages๋ก ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋ด๊ฐ ์๊ฐํ๋ githubPages์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- github์ ์ด์ฉํ๊ณ ์๋ค๋ฉด ๋ณ๋๋ก ์ฌ์ดํธ ๊ฐ์ ํ์ ์์๐ ๐ปโ๏ธ
- ๋๋ฉ์ธ์ ๊ตฌ์ ํ ํ์๊ฐ ์๋ค๋ฉด ๋ฌด๋ฃ!๐
Github์์ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํ ๋๋ githubPages๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ฐ์ธ์ ์ผ๋ก ๋ธ๋ก๊ทธ๋ ๊ทธ ๋ฐฉ๋ฒ๋ณด๋ค๋ ์ด๋ฏธ ๋ง๋ค์ด์ง ํ๋ซํผ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํธํ ๊ฒ ๊ฐ๋ค.
githubPages๋ ๋ธ๋ก๊ทธ ์ธ์๋ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ repository๋ฅผ ์นํ์ด์ง๋ก ๋ฐฐํฌํ ์ ์๋ค.
์ค๋์ ๊ทธ ์ค์์๋ React ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ํฌ์คํ
ํด๋ณด๋ ค๊ณ ํ๋ค.
โก ํ๋ก์ ํธ์ github์ด ์ด๋ฏธ ์ฐ๋๋์ด ์๋ค๋ฉด 1, 2 ๊ณผ์ ์๋ต ๊ฐ๋ฅ
1. github์ ์๋ก์ด repository ๋ง๋ค๊ธฐ
2. ํ๋ก์ ํธ์ Github ์ฐ๋ํ๊ธฐ
echo "# react-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin ๋ ํ์งํ ๋ฆฌ ์ฃผ์
git push -u origin master
- commit, push ์๋ฃ๋ ๊ฒ ํ์ธ
3. ๋ณธ๊ฒฉ githubPages ๋ฐฐํฌ ์ค๋นํ๊ธฐ
- githubpage ํจํค์ง ์ค์น
npm install gh-pages --save-dev
- package.json ํ์ผ์ ํํ์ด์ง ์ฃผ์ ์ถ๊ฐํ๊ธฐ
"homepage": "<http://์ฌ์ฉ์์ด๋ฆ.github.io/๋ ํ์งํ ๋ฆฌ์ด๋ฆ>"
- script ๋ถ๋ถ์ deploy, predeply ์ถ๊ฐํ๊ธฐ
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d build"
},
๐ ์ถ๊ฐ ์ฌํญ
- githubPages๋ก ๊ทธ๋ฅ ๋ฐฐํฌ ์ ์๋ก ๊ณ ์นจ ํ๋ฉด 404 ํ์ด์ง๊ฐ ๋์ค๊ฒ ๋๋ค.
- 404 ํ์ด์ง๊ฐ ๋จ์ง ์๋๋ก 404ํ์ด์ง๊ฐ index.html ํ์ด์ง๋ก ์ด๋ํ ์ ์๋๋ก ์ค์ ํด์ค๋ค.
- postbuild๋ฅผ ์ด์ฉํ์ฌ build ๋๊ธฐ ์ ์๋์ผ๋ก index.htmlํ์ด์ง๊ฐ 404.htmlํ์ด์ง๋ก ๋ณต์ฌ๋๋๋ก ์ค์ ํด์ค๋ค.
"scripts": {
"postbuild": "cp build/index.html build/404.html",
}
4. ๋ฐฐํฌํ๊ธฐ
npm run deploy
- ์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์๋์ผ๋ก build → 404.html ๋ณต์ฌ → gh-page์ build ํ ๋ฐฐํฌ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
5. ๋ฐฐํฌ ํ์ธ
- repository์ github-pages active ํ์ ํ์ธ
- ํํ์ด์ง ์ฃผ์๋ก ์ด๋ํด ๋ณด๊ธฐ
- ์ฃผ์๋ ์๋ ํ์ด์ง์์ ํ์ธ ๊ฐ๋ฅ
- ์ฃผ์๋ก ์ด๋ ์ ์ ์์ ์ผ๋ก ๋์ค๋ ๊ฒ ํ์ธ
- ์๋ก ๊ณ ์นจ ์์๋ ์ ์์ ์ผ๋ก ๋์ค๋ ๊ฒ ํ์ธ
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] Coin Tracker - ๊ฐ ์์, ์์ ์์ ๋ค๋ฅด๊ฒ ๋ํ๋ด๊ธฐ (0) | 2022.05.26 |
---|
๋๊ธ