내가 만든 리액트 앱을 친구들에게 공유하기 위한 간단한 방법을 소개한다
방법은 2가지가 있다
- nodejs express
- github pages
방법1. nodejs express
terminal1 2 3
| git clone https://github.com/chinsun9/serve-spa-expressjs.git cd serve-spa-expressjs npm i
|
- 위 저장소를 클론하고, 종속성을 설치한다
- index.js 에서
port
와 staticDir
을 내 상황에 맞게 수정한다
port
staticDir (spa path)
index.js:71
| const staticDir = path.join(__dirname, '../build');
|
소스코드
방법2. github pages
gh-pages 설치
package.json 수정
package.json1 2 3 4 5 6 7 8 9
| { "scripts": { "deploy": "gh-pages -d build" }, "homepage": "https://chinsun9.github.io/hello-react/" }
|
deploy
스크립트 추가, homepage
필드를 추가한다
- 이때
homepage
필드의 값은
https://{username}.github.io/{repo}/
로 한다
Router에 basename 추가
index.js1 2 3 4 5 6 7 8
| ReactDOM.render( <React.StrictMode> <Router basename={process.env.PUBLIC_URL}> <App /> </Router> </React.StrictMode>, document.getElementById('root') );
|
- 최상위 Router에
basename={process.env.PUBLIC_URL}
을 추가한다
404.html 추가
index.html 수정
build && deploy
- gh-pages 브랜치가 생성되어 있고,
- 깃허브 페이지 기능이 활성화되어있는 것을 확인할 수 있을 것이다
소스코드
참고