작업인원 : 5인
작업기간 : 2023. 01. 30 ~ 2023.03.03
데모사이트 : DEMO
테스트계정 :
HTML
Scss
JavaScript
node-fetch
Parcel
Swiper
Navigo
Vercel
Vercel
Parcel
Vercel Serverless Function
├── README.md
├── package.json
├── package-lock.json
├── index.html
├── .gitignore
├── api
│ ├── (서버리스 함수)
├── src
│ ├── images
│ ├── pages
│ │ ├── (페이지를 구성하기 위한 js파일)
│ ├── style
│ │ ├── (페이지를 구성하기 위한 scss파일)
│ ├── utils
│ │ ├── (api를 호출하기 위한 js파일)
│ │ ├── (각종 유틸리티 함수 모음)
│ ├── common.js
│ ├── router.js
회원가입 및 로그인 페이지
메인 페이지
상품 상세 페이지
장바구니 페이지
주문 페이지
마이 페이지
검색 페이지
마스터 페이지
navigo
사용 중 click 이벤트가 한번에 최소 2번, 최대 6번까지 연속동작하는 이슈가 있었다.
이벤트 버블링의 문제일까? 했는데 그런것도 아니였고... 이것저것 다양한 시도를 하다가 사나흘간 이슈를 덮어뒀었는데
click이벤트가 정상동작하는 컴포넌트와 그렇지 않은 컴포넌트를 비교해보니 해답은 생각보다 어렵지않았다...
모든페이지에 공통으로 존재하는 요소들은 js에서 동적으로 생성하지 않고 index.html
파일 내에 생성해두고 사용했는데, 이게 문제가 되는것이였다.
공통으로 동작하는 js파일내에서 기존의 html요소들을 동적으로 생성한 뒤 모든 route에서 작동하도록 router.hooks()
의 before
메소드 내에 위치시키니 이슈 해결 !
router.hooks({
before: (done) => {
CommonFn() //공통 컴포넌트
done()
}
})