Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 라우팅 설정과 프로젝트 셋업 전반을 개발합니다. #48

Merged
merged 14 commits into from
Sep 8, 2023

Conversation

InSeong-So
Copy link
Member

@InSeong-So InSeong-So commented Sep 2, 2023

📌 이슈 링크


📖 작업 배경

  • 저는 react 개념을 그렇게 좋아하지 않고, 어떤 기술을 사용할 때 많은 이슈를 해결하는 과정에서 그 기술을 작성한 철학을 공부하는 것에 큰 반감을 가지고 있습니다.
  • 그래서 solidjs 프레임워크를 활용해서 직관적으로 접근해보고 싶었어요. solidjs와 거대한 프레임워크나 라이브러리를 편하게 다루는 것보다 적당히 원자 단위 기능 코드를 작성하고자 합니다.

🛠️ 구현 내용

  • SSR 없이 CSR로 구현합니다.
  • 라우팅 처리를 solidjs router에 위임합니다.
  • vanilla-extract를 사용해서 번들 크기를 줄여보고 재렌더링시 스크립트 태그의 무한 증식을 막아봅니다.
  • 페이지 간 애니메이션을 효과적으로 다뤄보려 합니다.

💡 참고사항


🖼️ 스크린샷


* chore: solidjs를 적용하기 위해 @npx degit solidjs/templates/ts my-app 명령어 실행 후 프로젝트 설정을 수정합니다.

* feat: @@solidjs/router 라이브러리를 설치하고 엔트리 포인트에 적용합니다.

* chore: sort import 구문에 solidjs를 추가합니다.

* feat: 페이지 라우터를 위한 구조를 적용합니다.

* chore: vite에 absolute path를 적용하기 위해 resolve 프로퍼티를 추가합니다.

* style: assets 형식을 vite에 맞게 적용하고 ionicons를 로컬에서 호출하도록 파일을 추가합니다.

* style: 사용하지 않는 asstes를 제거합니다.

* feat: 메인 화면을 html에서 tsx로 이식합니다.

* feat: 로그인 화면을 html에서 tsx로 이식합니다.

* feat: 등록 화면을 html에서 tsx로 이식합니다.

* feat: 세팅 화면을 html에서 tsx로 이식합니다.

* feat: 아티클 화면을 html에서 tsx로 이식합니다.

* feat: 에디터 화면을 html에서 tsx로 이식합니다.

* feat: 프로필 화면을 html에서 tsx로 이식합니다.

* style: html을 tsx로 이식함에 따라 사용하지 않는 templates 폴더를 제거합니다.

* feat: 페이지 라우팅을 정의하고 index.tsx의 내용을 App.tsx로 이관합니다.

* chore: tsconfig target을 ES5에서 ES6로 수정합니다.

* feat: 라우팅을 페이지별로 적용하여 관심사를 분리합니다.

* feat: 아티클 리스트를 가져오는 API를 추가합니다.

* feat: API 연동과 함께 ErrorBoundary를 추가하고 기존에 있던 라우트 코드를 대체합니다.

* chore: @Vanilla-Extract를 추가합니다.

* feat: 로딩 스피너 컴포넌트를 추가하고 간단한 CSS 파일을 작성합니다.

* feat: 페이지 단위 트랜지션과 loading fallback을 추가합니다.
@InSeong-So InSeong-So merged commit 8a10beb into pagers-org:inseong-so Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant