티스토리 뷰

반응형

Github page로 포트폴리오 웹페이지 만들기


현재 프로젝트로 진행하는 React로 github page만들기에서 about과 work 페이지로 이동할수 있는 route설정과 header를 만들어 layout을 통해 페이지에 모두 반영하는 부분까지 해보았습니다.

header로 다른 페이지로의 이동은 잘 되지만, 직접 url 을 입력하거나, 새로고침 시에는 404 에러가 나오는 문제가 있습니다.

해당 url 로 직접 접속할 경우 도메인이 연결된 github repository의 branch에는 라우트에 해당하는 디렉토리와 index.html 페이지가 없기때문에 404에러를 발생시킵니다.

이문제를 해결하기위해 404.html 을 만들어 중간에 소스코드를 redirect 시켜주는 방법이 있지만, 이것 보다 각각 라우트에 해당하는 디렉토리를 만들고, index.html파일을 넣어주는 방법이 좀더 좋을거 같습니다.

이러한 기능을 해주는 모듈로 react-snap이 있습니다.

설정된 route들에 맞춰 build 시 자동으로 build 디렉토리안에 route별 디렉토리와 index.html을 만들어 주기 때문에 편리합니다. 또한 SEO처리를 하기위해서도 필요한 모듈이라고 생각이 듭니다.

Pre-Render


https://www.netlify.com/blog/2016/11/22/prerendering-explained/

pre-render의 설명은 위 사이트에 잘 나와있습니다.

SPA가 js 코드에 의해 상태에 따라 렌더링 되는 반면 pre-render는 이러한 페이지의 모든 요소를 미리 로드하는 프로세스입니다.

개념적인 측면에서 빠르게 이해하기 어려운 부분이 있지만, 저한테 필요한 부분은 현재 문제점을 해결할 수 있다는 것에 중점을 둡니다.

설치 및 설정


먼저 react-snap을 설치해 줍니다.

npm install --save-dev react-snap

이후 package.json의 scripts에 명령어를 추가해줍니다.

postbuild는 build 명령어가 실행된 뒤 실행되는 명령어입니다.

"scripts": {
    "dev": "webpack-dev-server --config webpack.config.dev.js --open",
    "postbuild": "react-snap",
    "build": "webpack . --mode production",
    "deploy": "npm run build && gh-pages -d build",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

간단하게 설정 된 상태에서 npm run build를 실행해 봅니다.

npm run build

build가 실행되고 나서 postbuild가 실행 되어 react-snap이 실행되는것을 볼수 있습니다.

실행이 끝나면,

build디렉토리에 라우트에 등록된 경로에 해당하는 디렉토리와 파일이 생긴것을 볼수 있습니다.

npm run deploy

배포를 실행해 주면, 문제가 해결 된것을 볼 수 있습니다.

What is Next?


404 에러에 대한 문제의 해결방법으로 react-snap을 사용해 봤습니다.

페이지를 채우는 것이 남았는데, 시간이 좀 걸릴 거 같습니다 하하하

그래도 최대한 많은 부분에대해서 작성을 해보는 것을 목표로 하고,

about 과 work는 순서대로 진행하는 것보다는 먼저 되는 대로 글을 작성해 볼 생각입니다.

하하하.

끝!!!

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함
반응형