티스토리 뷰
Vite로 만든 프로젝트를 gh-pages로 배포할 때는 gh-pages 라이브러리를 설치하지 않아도 된다.
vite.config.js 파일로 가서 base를 추가한다.
// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
// https://vitejs.dev/config/
export default defineConfig({
base: '/레포이름/',
plugins: [react()],
});
BrowserRouter에 basename을 추가한다.
const Router = () => {
return (
<ThemeProvider theme={theme}>
<BrowserRouter basename='/레포이름'>
<Routes>
<Route path='/' element={<Main />} />
<Route path='/detail/:id' element={<Detail />} />
</Routes>
</BrowserRouter>
</ThemeProvider>
);
};
HashRouter라면 basename은 필요없다!
gh-pages로 배포하는 것이니 목데이터나 이미지 src 경로가 잘되어있는지 확인한다.
index.html에 파비콘 경로도 확인할 것!
./경로도 된다는 블로그 글이 있던데 지인은 그렇게 해도 이미지가 안떴다고 해서 /없이 바로 시작하는 경로를 추천한다.
// bad 👎
./images/photo.png
/images/photo.png
// good 👍
images/photo.png
빌드 명령어를 실행한다.
npm run build
기존에 gitignore에 있는 dist 폴더를 강제로 스테이징에 추가한다.
git add dist -f
변경사항을 커밋한다.
git commit -m "🚀Add : Adding dist”
gh-pages 브랜치를 생성하는 명령어를 입력한다.
git subtree push --prefix dist origin gh-pages
그리고 조금 기다리면 해당 깃헙페이지에 settings의 pages에서 링크를 확인 할 수 있다.
위 방법과 똑같이 배포했는데도 404가 뜬 동기가 있어서 확실하지는 않지만 재배포를 할 때는
1. 로컬에 dist폴더를 삭제하고 npm run build를 실행한다.
2. 원격에 gh-pages 브랜치를 삭제하고 진행한다.
이 2가지를 지키려고 한다.😀 뭐든 다 없애고 다시하는게 낫지!👍
728x90
'공부 노트' 카테고리의 다른 글
[Firebase] 파이어베이스 firestore 데이터 가져오기 (0) | 2022.10.27 |
---|---|
[Firebase] 파이어베이스 firestore 데이터 저장하기 (0) | 2022.10.21 |
[Recoil] Recoil 시작하기 (0) | 2022.10.06 |
[React] 부모 컴포넌트에서 자식 컴포넌트 state 조작하기, useImperativeHandle (0) | 2022.10.05 |
[Git] git config 명령어 (0) | 2022.09.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 김버그
- React
- git
- 깃
- 타입스크립트
- 코딩앙마
- Typescript
- 드림코딩
- map
- 비주얼스튜디오코드
- 코드잇
- 저스트코드
- TS
- html
- Til
- scss
- js
- 파이썬
- vscode
- 제로초
- 제이쿼리
- 구름에듀
- 자바스크립트
- javascript
- vue
- Python
- CSS
- 리액트
- 회고
- 스파르타코딩클럽
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함