변화의 바람 달라지는__기술의 영원함

✨ 프론트엔드 환경 구성에 대해 알고, 간단한 앱을 만들어봐요 — 1탄

Vercel에 연동해서 커밋만 하면 자동으로 배포되도록 세팅해볼게요

2025.04.06 | 조회 62 |
0
|
Weekly poetry의 프로필 이미지

Weekly poetry

문밖으로 한 발자국 내딛는 순간. 다양한 스팩트럼의 지식을 나눠요.

 

빛과 어둠은 그 역할이 있다.
빛과 어둠은 그 역할이 있다.


 

bun + vite + react 조합의 베이스 정보와 전망.

bun + vite + react 조합은 최근 프론트엔드 개발자들 사이에서 주목받는 조합이에요.

📌 bun + vite + react 조합을 따르는 이유 요약

  • 속도 최강 조합: bun은 설치도, 실행도 번개처럼 빠름⚡
  • 최신 React 환경: vite는 최신 React 빌드 구조를 기본 지원
  • 간결한 설정: 복잡한 설정 없이 바로 개발 시작 가능
  • Vercel 연동 최적화: 커밋만 하면 자동 배포되는 깔끔한 CI/CD 흐름
항목장점
속도bun + vite는 설치부터 빌드, 핫 리로드까지 모든 속도에서 우위
설정Vite의 간단한 설정, Bun의 통합된 CLI
사용성React 템플릿 호환성, TypeScript 대응, JSX 지원
확장성Vite 플러그인 + Bun 스크립트 도구로 확장성 뛰어남
ㅋㅋ 고마운 이미지 생성 ai들
ㅋㅋ 고마운 이미지 생성 ai들

✅ 1. 빠른 빌드 & 번들 속도

  • Bun은 Rust 기반으로 만들어져 Node.js보다 패키지 설치와 실행 속도가 매우 빠릅니다.
  • Vite는 ESM 기반의 개발 서버와 최소 번들링을 제공하여 HMR(Hot Module Replacement) 속도가 탁월합니다.
  • 둘을 조합하면 로컬 개발 환경에서의 체감 속도가 매우 향상됩니다.

✅ 2. 의존성 설치 속도 극강

  • bun install은 yarn이나 npm보다 20배 이상 빠른 속도를 자랑합니다.
  • 한 번 의존성을 설치하고 나면, 캐시 활용 덕분에 재설치 속도도 빠릅니다.

✅ 3. 간결한 설정 + 모던한 개발 워크플로우

  • Vite는 vite.config.ts로 설정이 간단하고, React 템플릿도 공식 지원합니다.
  • Bun은 Node.js API를 대체하며 자체적으로 실행기 역할을 하기에 별도 node, npm이 없어도 동작합니다.

✅ 4. 타입스크립트, JSX, HMR 완벽 대응

  • Vite의 ESBuild 덕분에 TypeScript, JSX 컴파일이 매우 빠릅니다.
  • Bun 역시 TypeScript를 기본으로 인식하며, React 기반 프로젝트 구성에 불필요한 설정이 거의 없습니다.

✅ 5. 통합된 도구 생태계

  • Bun은 자체적으로 번들러, 테스트 러너, 패키지 매니저, 스크립트 실행기 역할까지 수행합니다.
  • 다양한 역할을 Bun 하나로 커버할 수 있어 의존성 최소화 + 프로젝트 구조 단순화가 가능합니다.

✅ 6. Vite Plugin 생태계 + Bun 퍼포먼스

  • Vite의 플러그인 생태계는 Rollup 기반으로 이미 검증되어 있고,
  • Bun을 함께 쓰면 개발 서버의 반응성과 프로덕션 번들 속도 모두 챙길 수 있는 균형 잡힌 선택입니다.

이렇게 환경구성에 대한 설명을 마무리하고 todolist 애플리케이션을 만드는 프로젝트를 진행 해 봅시다!

 

한글깨짐 주의 
한글깨짐 주의 

🛠️ TodoList 프로젝트 환경세팅 가이드 + 개념 설명


깃헙에서 레포지토리를 만들고 진행하면 됩니다.

이 부분은 패스!  클론 받은 경로를 수급하는 것 부터 준비하여 진행합시다.

✅ 1. GitHub 레포지토리 클론

cd ~ # 홈 디렉토리로 이동 git clone https://github.com/diaxoxo-dev/todoList.git

✅ 왜 이렇게 하나요?

  • git clone: GitHub에서 프로젝트 파일을 내 컴퓨터로 복사합니다.
  • cd ~: 홈 디렉토리(시작점)로 이동해서 작업 경로를 분명하게 합니다.
  • 결과: todoList라는 폴더가 생깁니다.

✅ 2. 프로젝트 폴더로 이동

cd todoList ls

✅ 왜 이렇게 하나요?

  • cd todoList: 클론해온 프로젝트 폴더로 들어갑니다.
  • ls: 해당 폴더 안에 뭐가 들어있는지 확인합니다. 보통 초기엔 README.md만 있음.

✅ 3. Vite + React 프로젝트 생성

bun create vite . --template react

Remove existing files and continue → todo-list 입력 후 Enter
- 소문자 하이픈형으로 변경

✅ 왜 이렇게 하나요?

  • 이 프로젝트는 비어 있기 때문에 직접 React 앱 구조를 만들어야 합니다.
  • Vite는 최신 번들러로, CRA(Create React App)보다 빠르고 가볍습니다.
  • **--template react**를 넣으면 src/, index.html, vite.config.js 등 기본 구조가 자동 생성됩니다.
  • . (현재 폴더) 를 쓰면 todoList 폴더 자체가 Vite 프로젝트로 초기화됩니다.

✅ 4. 의존성 설치

bun install

✅ 왜 이렇게 하나요?

  • package.json에 명시된 라이브러리(React 등)를 실제로 다운로드합니다.
  • bun은 npm보다 빠른 JS 런타임 + 패키지 매니저입니다.
  • 설치하면 node_modules/, bun.lockb 등이 생깁니다.

✅ 5. 개발 서버 실행

bun dev

✅ 왜 이렇게 하나요?

  • 실제로 작성한 코드를 브라우저에서 볼 수 있도록 개발 서버를 실행합니다.
  • 기본 포트는 http://localhost:5173
  • 수정 사항이 저장되면 브라우저가 자동으로 새로고침됨.

✅ 완성된 세팅

반가운 
반가운 

 


✅ 6. 최종 폴더 구조 이해

todoList/ ├── index.html ← 웹사이트의 뼈대 ├── package.json ← 어떤 패키지를 쓸지, 프로젝트 정보 ├── vite.config.js ← Vite 설정 ├── bun.lockb ← 패키지 버전 고정용 ├── node_modules/ ← 설치된 외부 라이브러리 ├── README.md ← 프로젝트 설명 └── src/ ├── App.jsx ← 메인 컴포넌트 └── main.jsx ← 앱을 브라우저에 연결하는 시작 파일

✅ 7. GitHub에 커밋 & 푸시

✨ 내 컴퓨터에서 만든 프로젝트를 GitHub에 다시 올려야, Vercel이 이를 보고 배포할 수 있어요!

git add . git commit -m "feat: Vite + React 초기 세팅 완료" git push origin main # 또는 master (기본 브랜치 이름에 따라 다름)

✅ 왜 이렇게 하나요?

  • git add . → 모든 변경 파일을 Git 추적 대상에 추가합니다.
  • git commit -m → "이제 이 상태를 하나의 이정표로 남기겠다"는 의미입니다. 메시지는 요약 설명!
  • git push → 이정표를 GitHub 원격 저장소로 업로드합니다.

✅ 8. Vercel에서 배포하기

이제 우리의 목표는 **"이 코드가 실제 웹사이트처럼 보여지는 상태"**를 만드는 것!

🧭 순서 요약

흰색으로 표기된 add New project 클릭
흰색으로 표기된 add New project 클릭
셀렉박스 클릭 후 프로젝트 클릭
셀렉박스 클릭 후 프로젝트 클릭
로그인 된 나의 계정의 래파지토리가 뜨면 임포트를 클릭
로그인 된 나의 계정의 래파지토리가 뜨면 임포트를 클릭

디플로이를 클릭하면 완료!
디플로이를 클릭하면 완료!
  1. https://vercel.com
  2. Add New Project 클릭 → todoList 프로젝트 선택
  3. Vercel이 자동으로 Vite 프로젝트임을 감지함 → 설정은 건드릴 필요 없이 기본값 유지
  4. Deploy 버튼 클릭 → 배포가 시작되고, 완료되면 링크가 생깁니다

예시 주소: https://todo-list-ochre-iota.vercel.app


✅ 9. 완성 확인!

🎉 브라우저에서 확인가능

이제 나마네 공간이 만들어졌ㄷr....*
이제 나마네 공간이 만들어졌ㄷr....*

처음엔 React 로고만 나온답니다.

그 다음부턴 여기에 내가 만든  Todo 기능이 붙게 됩니다. 


🧩 흐름 한 줄 요약

로컬 → GitHub → Vercel 내 손으로 만든 코드가 전 세계에 배포되는 놀라운 순간입니다.


✅ 이어서 무엇을 할까?

  • ✅ App.jsx에서 Todo 항목 추가 기능 만들기
  • ✅ 할 일 완료 처리, 삭제 버튼, 개수 표시, 필터 구현까지 확장

첨부 이미지

✅ 환경 설정 췍!

bun + vite + react 환경, 왜 이 흐름을 따를까?

작업 단계이유
Git 클론GitHub에서 내 프로젝트 불러오기
Vite 템플릿 생성빠르고 최신 React 환경을 구성할 수 있음
bun install필요한 라이브러리를 npm 대신 bun으로 빠르게 설치
bun dev개발 서버 실행 후 브라우저에서 즉시 확인 가능
폴더 구조 정리컴포넌트 개발, 스타일 구성, 데이터 관리 등 기반을 미리 마련

✅ 추가 팁: 이런 실수가 자주 생겨요

실수원인해결 방법
cd todoList 안 됨폴더 이름이 다르거나 오타 있음ls로 먼저 확인하고 정확한 경로로 이동
bun dev 에러package.json이 없음Vite 템플릿 생성 안 됨 – 처음부터 bun create vite 사용
이름 오류대문자, 공백 포함됨 (ex. "My App")todo-list, my-todo 등으로 소문자-케밥케이스 추천

👀 bun + vite + react 조합의 주의할 점 / 단점

1. 🧪 Bun 생태계의 안정성

  • bun은 아직 완전한 안정 버전이 아니며, Node.js와의 호환성이 부족한 경우가 있습니다.
  • 일부 npm 패키지 또는 레거시 도구는 bun에서 오류를 발생시킬 수 있습니다.
    • 예: 일부 WebSocket 기반 라이브러리, 특정 CLI 툴 등

✅ 해결 팁: 중요한 프로젝트는 먼저 bun install --dry-run 또는 bun x로 테스트해보는 것이 좋습니다.


2. 📦 Bun의 패키지 해석 방식

  • bun은 내부적으로 자체 번들러와 실행기를 사용하기 때문에, npm, yarn, pnpm과는 의존성 해석 방식이 다를 수 있습니다.
  • .npmrc, peerDependencies 같은 설정에 예민할 수 있습니다.

해결 팁 에러가 날 경우, bun.lockb, node_modules 삭제 후 bun install로 다시 설치해보세요.


3. 🔧 Vite와 Bun의 통합은 공식 조합이 아님

  • vite는 기본적으로 npm 기반의 생태계를 전제로 하며, bun과의 조합은 아직 공식적으로 최적화된 조합은 아닙니다.
  • 일부 Vite 플러그인은 bun에서 실행되지 않을 수도 있습니다.

✅ 해결 팁: vite.config.ts에서 플러그인을 최소화하고, 기본 설정 위주로 진행하세요.


4. 🐛 디버깅 도구 및 생태계 부족

  • bun은 bun run, bun x, bun test 등 통합 툴이 있지만, 아직 IDE나 디버깅 툴과의 깊은 통합은 부족합니다.
  • 예: WebStorm, VSCode에서 디버그 설정 시 다소 복잡할 수 있음.

✅ 해결 팁: 초기에는 console.log 중심의 테스트 환경을 활용하고, 점차 bun test나 jest 등과 연동해보세요.


5. 🛠 배포 환경 호환성

  • Vercel은 기본적으로 Node.js 런타임을 사용하며, bun 실행기는 자동으로 감지되지 않습니다.
  • 실제 빌드/배포는 Vite + Node 환경에서 진행되고, bun은 개발 환경에서만 쓰는 형태가 일반적입니다.

✅ 해결 팁: 개발용은 bun, 배포는 Vite + Node를 기본 전제로 삼는 것이 안전합니다.


🎯 결론: 좋은 개발 경험, 그러나 “실험 정신”은 필수

bun + vite + react 조합은 체감 속도나 개발 생산성 측면에서 매력적이지만, 완전한 표준은 아니라는 점을 기억하고, 문제가 생겼을 때는 빠르게 npm 또는 yarn 환경으로 전환하는 유연성이 중요합니다.


🤖 AI가 조언합니다

bun + vite + react, 빠르고 강력하지만…

속도가 전부는 아닙니다.

Bun은 매우 빠르지만, 일부 npm 패키지와의 호환성 문제나 디버깅 생태계 부족 등 몇 가지 실험적인 요소도 포함되어 있습니다.

개발자의 여유 있는 유연함이 중요합니다.

문제가 발생했을 때는 번들러나 패키지 매니저를 npm, yarn, pnpm으로 전환하는 것도 전략 중 하나입니다.

“새로운 흐름에 올라타되, 중심은 내가 쥐고 있어야 한다.”

빠른 환경이 여러분을 더 빠르게 만들어줄 수 있지만, 신중하게 움직이는 개발자야말로 더 멀리 나아갑니다.

 

우리같이 공부해요!


서정적 인류애를 전하는 라이프 인사이트 메뉴얼, 

작업하실때 디스코드 많이 하시죠?

자 같이 소통하며 성장해봅시다! 

소란했던 속마음도, 새로운 기술도, 함께 나누며 즐겁게 지내보면 어떨까요?

서로간의 배울것과 나눌 것, 진실된 이야기로 디지털 트랜스포메이션에 한걸음 다가가 보아요.

주절주절 마음을 나누는 라이프 인사이트.
주절주절 마음을 나누는 라이프 인사이트.

궁금해요! 마음챙김 앱의 AB test에 참여해주세요.

🌿 하나의 마음케어 앱, 두 가지 샘플링

🌿두 가지 샘플링으로 하나의 마음케어 앱을 만들어봤어요!

같은 목표를 가지고 있지만, 각 샘플링은 다른 방식으로 접근해봤어요!

프로토 타입으로 AB 테스트를 진행해봅니다.

샘플링1: 직관적 디자인으로 빠르게 마음을 다스리기

샘플링2: 실시간 피드백과 맞춤형 조언으로 웰니스 유도

어떤 샘플이 더 마음에 드시나요?여러분의 피드백은 큰 힘이됩니다 😍💬

1つのマインドケアアプリ、2つのサンプリング🌿。

二つのサンプリングで一つのマインドケアアプリを作ってみました!

同じ目標を持っていますが、それぞれのサンプリングは異なる方法でアプローチしています。サンプリング1: 直感的なデザインで素早く心を整える サンプリング

2: リアルタイムのフィードバックとパーソナライズされたアドバイスで自己啓発を促します。

どちらのサンプルが好きですか?

皆様のフィードバックをお待ちしています! 💬💬💬💬。

number 1

우리 모두 모두 마음을 엽시다.
우리 모두 모두 마음을 엽시다.

number2

각팍한 세상속에서..! 빛을 찾아봅시다
각팍한 세상속에서..! 빛을 찾아봅시다

 


 

© 2025 All rights reserved.

Copyright NoticeAll content in this newsletter (text, images, design, etc.) is protected under copyright law. Unauthorized reproduction, distribution, modification, retransmission, or commercial use without the publisher's consent is strictly prohibited.For personal reference or sharing, please clearly attribute the original source.

첨부 이미지
AI Creative StudioㅣHybrid Studio
AI Creative StudioㅣHybrid Studio
AI Creative StudioㅣHybrid Studio
AI Creative StudioㅣHybrid Studio


또 다른 메일리 이야기

 

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

Weekly poetry 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !
© 2025 Weekly poetry

문밖으로 한 발자국 내딛는 순간. 다양한 스팩트럼의 지식을 나눠요.

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보 뉴스레터 광고 문의

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스