
신규 프로젝트를 진행하게 되었는데, 이번 기회에 최신 React 버전을 직접 사용해보고 싶었다.또한 빠른 배포와 자동화된 워크플로우를 위해 AWS S3를 활용한 정적 사이트 배포와 GitHub Actions를 이용한 CI/CD 구성까지 함께 적용해보기로 했다.최근에는 간단한 CI/CD 환경을 누구나 쉽게 구성할 수 있는 도구들이 잘 갖춰져 있어서,이번 글에서는 React v19 버전 + AWS S3 + GitHub Actions 조합으로 프로젝트를 어떻게 세팅했는지따라하기 쉽게 정리해보려 한다.진행하는 프로젝트는 간단한 Admin 페이지로, SEO 최적화가 필요 없는 SPA(single-page application) 형태이기 때문에 React로 구성하는 데 부담이 없었다.사용기술우선 본격적인 진행에 앞..

FullCalendarFullCalenar 는 자바스크립트로 작성된 오픈 소스 캘린더 라이브러리 입니다.해당 라이브러리는 다양한 기능과 여러 프레임워크를 지원하기 때문에 가장 인기가 많은 캘린더 오픈소스 라이브러리 입니다.설치yarn add @fullcalendar/core @fullcalendar/react @fullcalendar/daygrid컴포넌트 만들기import { useState } from 'react'import FullCalendar from '@fullcalendar/react'import dayGridPlugin from '@fullcalendar/daygrid' // a plugin!const CalendarTemplate = () => { const [events] = useS..
해당 글에서는 vitest 와 React Testing Library 를 이용하여 테스트 케이스를 만드는 방법을 소개합니다.vitest 는 실행속도와 vite 와 통합이 간편하며, RTL 은 리액트 컴포넌트를 테스트 하기 위한 도구 입니다.리액트 프로젝트 설치npm create vite@latest패키지 설치npm install --save-dev @testing-library/react @testing-library/jest-dom @testing-library/user-event vitest jsdomvite.config.ts 셋팅globals: true이 설정은 테스트 파일에서 전역 함수(예: describe, it, test 등)를 import 없이 사용할 수 있게 합니다.true로 설정하면 이러..

우선 모킹 서비스를 이용하는 경우는 프론트엔드가 백엔드의 api 가 개발될 때 까지 계속 기다려야하는 문제들이 발생하였고 프론트엔드가 먼저 백엔드의 api 를 설계 또는 개발하여 선작업을 할 수 있도록 합니다. vite 기반의 React 프로젝트이며, msw(mock service worker) 를 적용하여 모킹 서비스를 만드는 과정을 단계별로 설명하겠습니다.시작1. msw 설치npm install msw --save-dev 2. msw 서비스 워커 생성하기npx msw init public/ --save 3. browser mock 생성하기// src/mocks/browser.jsimport { setupWorker } from 'msw/browser'import { handlers } from './..

리액트 프로젝트를 진행하다 보면, 여러 리액트 프로젝트 구조를 상상하게 된다.가장 우리가 기본적으로 나열하는 components 와 pages 폴더를 만들어서 나열하는 구조가 있지만, 이러한 구조는조금만 규모가 커지거나 훅, 상태 관리 등이 들어오게 되면 가독성이 확연하게 떨어지게 된다. 그래서 features 기반으로 그룹화(페이지, 컴포넌트, 훅, 스토어 등)하여 사용하게 되는데, 이를 기반으로 React 프로젝트 구조를 아래와 같이 구축해보자. Vue 도 마찬가지로 다를게 없다고 생각한다. 리액트 프로젝트 구조 구축하기기본적으로 요즘 유행하는 vite 기반의 react 프로젝트를 만들어서 프로젝트를 먼저 구조화 해보자.먼저 yarn create vite 를 이용해서 react 프로젝트를 생성해줍니다..
셋팅vite 기반으로 React 를 만든 다음에 경로를 쉽게 사용할 수 있도록 alias 로 셋팅합니다.1. new URL("./src", import.meta.url)- 이 코드는 현재 모듈을 기준으로 상대 경로 "./src"를 가리키는 URL 객체를 만듭니다. - import.meta.url은 현재 모듈의 URL을 나타냅니다.2. fileURLToPath(new URL("./src", import.meta.url)):- new URL("./src", import.meta.url)를 통해 생성된 URL 객체를 fileURLToPath 함수에 전달합니다. - fileURLToPath 함수는 파일 URL을 파일 경로 문자열로 변환합니다.3. fileURLToPath(new URL("./src", impor..
- Total
- Today
- Yesterday
- 티스토리챌린지
- cors
- vscode
- dockerfile
- 스벨트
- 타입스크립트
- nuxt2
- 네이버 서치 어드바이저
- vue router
- Git
- ChatGPT
- nextjs15
- svelte
- openAI
- NextJS
- Vite
- Github Actions
- 오블완
- nodejs
- seo
- webpack
- nextjs13
- AWS
- docker
- NUXT
- nextjs14
- vue composition api
- React
- 깃허브
- 서버 to 서버
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |