
Today I Learn📖
- AWS s3 + cloudfront (강의)
- github pages (강의)
- Firebase (강의)
- Netlify (강의)
- Vercel (강의)
History API 기반의 SPA를 배포하려면, 해당 서비스에서 404 에러에 대해 처리할 수 있어야함
ex) npx serve -s
프론트엔드 Project deploy 방법

s3: 파일을 저장하는 웹 기반 저장소
-> html, css, js, 이미지 등의 파일 저장 (프론트엔드 코드는 별도 서버가 필요없어서 가능한 것)
=> 별도의 서버 없이 정적 웹사이트 호스팅하면 남들에게 공유 가능
cloudfront: AWS의 CDN(Content Delivery Network) 서비스
Create Custom Error Response에서 404일 때만 처리하면 좋음깃허브에 올린 코드로 정적인 사이트(html, css, js, ... 만 있으니까) 생성 가능
깃허브 레파지토리에 아이디.github.io 를 생성한 뒤, 그 코드로 만들기 (추천)
프로젝트에서 특정한 브랜치 규칙(gh-pages) 과 생성 방식을 따라 만들어서, 그 브랜치에서 생성
=> url: 아이디.github.io/레파지토리명
404.html을 만들고 index.html을 똑같이 베껴 내용 채우면 됨.web.app, .firebaseapp.com (커스텀 도메인 추가 가능)// firebase.json
{
"hosting": {
"public": "project", // 필요에 따라 변경
"ignore": [
"firebase. json",
"**/.*"
"**/node_modules/**"
]
"rewrites": [ // 이 부분이 404 에러 처리하는 부분
{
"source": "**", // 모든 경로를
"destination": "/index.html" // index.html로 보낸다
}
]
}
}
배포가 쉽고 간편함 (배포의 추상화가 잘 되어있음)
GitHub, GitLab, BitBucket의 코드 저장소와 연동해서 코드 가져옴
-> 코드 변경되면 알아서 감지해서 자동으로 새 버전 웹사이트로 빌드 & 배포
처음에는 단어들의 조합인 도메인 제공 (커스텀 도메인으로 변경 가능)
브랜치 선택해서 배포 가능 (디자이너, 기획자들과 협업에 유용)
한국 서버가 없어서 서비스 접속이 느림
404 에러 해결법
=> _redirects 라는 파일 추가하면 됨
역시 배포가 쉽고 간편함, 한국 서버 있어서 접속 빠름
Git 등의 코드 저장소와 연동해서 코드 가져옴
- 개인 사용은 무료지만 Create a Team 해서 팀 만드는 건 유료임 ! 스킵 추천 ㅎ.ㅎ
- 사용한 프레임워크 선택하면 빌드 환경 맞춰줌, 빌드 옵션과 환경 변수 설정 가능
기본 도메인은 레파지토리명.vercel.app
vercel에 브랜치 push 하면 배포됨 (브랜치 선택 배포 가능)
404 에러 해결법 중 하나
// vercel.json
{
"routes": [{ "src": "/[^.]+", "dest": "/", "status":
"status": 200 }]
}
여러가지 배포툴에 대해 알게되었다. 다 이름만 들어봤던 것들인데 훑어보는 시간이 되어서 유익했다 ! 그 중에 AWS는 UI가 친절하지 않아서 사용하려면 학습이 많이 필요할 거라고 하셨는데, 서비스 직접 들어가보고 바로 이해했다 ㅋㅋㅋㅋㅜㅜ
프론트엔드도 JS 코드만 잘 짜는 게 아니라 인프라 최적화에 대한 지식 필요하다는 말씀을 하셨다. 또, 코드를 짜서 로컬에만 갖고있을 게 아니라 서비스 운영 & 배포를 하는 것도 중요하다고 하신 것 꼭 새겨듣기 !!