gh-pages๋ก ๋ฆฌ์กํธ ์ฑ์ ๋ฐฐํฌํ ๋ URL ์ค์ ์ package.json์ homepages๋ก ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ ๋ผ์ ๊ฒ์ํ๋ค๊ฐ ๋์ค์ ๋ ์์๊น๋ด ๊ธฐ๋ก์ผ๋ก ๋จ๊ฒจ๋๋ค ..^^
package.json
gh-pages๋ฅผ installํ ๋ค script์ predeploy์ deploy ๋ช ๋ น์ด๋ฅผ ๋ฃ์ด์ค ๋ค "homepage"์ ๋ด ๊นํ ์์ด๋ + github.io + ํ์ฌ ์ ์ฅ์ ์ด๋ฆ์ ๋ฃ์ด์ค ๊ฒ๊น์ง๋ ๋ค๋ฅธ ํํ ๋ฆฌ์ผ์ ๋์ ์๋ ๋ด์ฉ๊ณผ ๋์ผํ๊ฒ ์งํํ๋ค.
๊ทธ๋ฐ๋ฐ ์๊พธ ๋น๋๋ ํ์ผ์ ๋ฒ๋ค๋ css๋ js ํ์ผ์ ์ฐธ์กฐํ๋ ๊ฒฝ๋ก๊ฐ /github.io...
๋ก ์์ํ๊ณ ์์๋ค. ์ฆ, github io๋ฅผ ๋ฃ์ ์์ ํ URL์ ์ฐพ์ง ๋ชปํ๊ณ ์์๋ค. React-router ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ browser-router ์ชฝ ์ด์์ธ๊ฐ ์ถ์ด์ ์๋์ฒ๋ผ Router.js ํ์ผ์ ์ผ๋ถ ์์ ํด์ฃผ์๋ค.
Router.js
์๋๋ <Router>
๊ฐ ์ต์๋จ์ ์์นํ๋๋ฐ ์ด๋ฅผ <BrowserRouter basename={process.env.PUBLIC_URL}>
๋ก ๊ฐ์ธ์ฃผ์๋ค.
.env
// root
PUBLIC_URL=https://hannah26hannah.github.io/react-twitter-clone/
๋ฃจํธ ๋ฐ๋ก ์๋์๋ Firebase ์ค์ ํ์ผ์ ์ํ ํค๊ฐ ๋ด๊ธด .env ํ์ผ์ด ์๊ณ , ์ฌ๊ธฐ์ ์์ฒ๋ผ PUBLIC_URL์ ์ค์ ํด์ฃผ์๋ค.
์ด๋ ๊ฒ ํ๊ณ ๋๋๊น ์ ์์ ์ผ๋ก ๋น๋๋๊ณ ๋ฐฐํฌํ ์ ์์๋ค.
Reference
2๋ฌ ์ ์ ๊ฒ์๋ ์คํ์ค๋ฒํ๋ก์ฐ ๋ต๋ณ์ ์ฐธ๊ณ ํ๋ค.