πŸ“— Vue.js

[Vue.js] Vue3 μ‹œμž‘ν•˜κΈ°

JaeBBang 2024. 8. 27. 11:01
Vue.jsλž€?🀷

 

 

Vue.jsλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ™€ μ‹±κΈ€ νŽ˜μ΄μ§€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜(SPA)을 μ‰½κ²Œ ꡬ좕할 수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” κ°€λ²Όμš΄ ν”„λ‘ νŠΈμ—”λ“œ JavaScript ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. 직관적인 API와 λ°˜μ‘μ„± μ‹œμŠ€ν…œμ„ 톡해 κ°œλ°œμžκ°€ 효율적으둜 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  수 μžˆλ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

Vue.jsλŠ” ν˜„λŒ€ μ›Ή κ°œλ°œμ—μ„œ μ£Όλͺ©λ°›λŠ” ν”„λ‘ νŠΈμ—”λ“œ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. λ‹¨μˆœνžˆ UIλ₯Ό λ§Œλ“œλŠ” 도ꡬλ₯Ό λ„˜μ–΄, κ°œλ°œμžμ—κ²Œ νš¨μœ¨μ„±κ³Ό 즐거움을 μ„ μ‚¬ν•©λ‹ˆλ‹€.πŸ˜†πŸ˜†

 

1. μ»΄ν¬λ„ŒνŠΈ 기반 μ•„ν‚€ν…μ²˜

Vue.jsλŠ” UIλ₯Ό μž‘μ€ μ»΄ν¬λ„ŒνŠΈλ‘œ λ‚˜λˆ„μ–΄ κ΄€λ¦¬ν•©λ‹ˆλ‹€. 이 접근법은 μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ 높이고, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 더 μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ λ§Œλ“­λ‹ˆλ‹€.

 

2. λ°˜μ‘μ„± μ‹œμŠ€ν…œ

Vue의 λ°˜μ‘μ„± μ‹œμŠ€ν…œμ€ 데이터와 UIλ₯Ό μžλ™μœΌλ‘œ λ™κΈ°ν™”ν•©λ‹ˆλ‹€. 데이터가 λ³€κ²½λ˜λ©΄ UI도 μ¦‰μ‹œ μ—…λ°μ΄νŠΈλ˜μ–΄, λ³€ν™”ν•˜λŠ” μƒνƒœλ₯Ό μ†μ‰½κ²Œ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

3. 직관적인 ν…œν”Œλ¦Ώ 문법

Vue.jsλŠ” HTML 기반 ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•΄ 데이터λ₯Ό μ‰½κ²Œ 바인딩할 수 μžˆμŠ΅λ‹ˆλ‹€. κ°„λ‹¨ν•œ λ¬Έλ²•μœΌλ‘œ κ°•λ ₯ν•œ UIλ₯Ό ꡬ좕할 수 μžˆμ–΄, 배우기 쉽고 μ‚¬μš©ν•˜κΈ° νŽΈλ¦¬ν•©λ‹ˆλ‹€.

 

 

 

Vue.js μ„€μΉ˜ν•˜κΈ° πŸ“—

 

npm이 κΉ”λ €μžˆλ‹€λŠ” μ „μ œν•˜μ— Vue3λ₯Ό μ„€μΉ˜ν•΄λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€!

 

npm create vue@3

 

cmd λ˜λŠ” vscode의 ν„°λ―Έλ„μ—μ„œ μœ„μ™€ 같이 μ‹€ν–‰ν•©λ‹ˆλ‹€.

 

 

√ Project name: ... ν”„λ‘œμ νŠΈ 이름을 μ„€μ •ν•˜λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€.
√ Add TypeScript? ... TypeScriptλ₯Ό μ‚¬μš©ν•  것인지 μ„ νƒν•©λ‹ˆλ‹€.
√ Add JSX Support? ... JSX 지원을 μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add Vue Router for Single Page Application development? ... Vue Routerλ₯Ό μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add Pinia for state management? ... Piniaλ₯Ό μƒνƒœ 관리 라이브러리둜 μ‚¬μš©ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add Vitest for Unit Testing? ... Vitestλ₯Ό λ‹¨μœ„ ν…ŒμŠ€νŠΈ λ„κ΅¬λ‘œ μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add an End-to-End Testing Solution? » End-to-End Testing(E2E ν…ŒμŠ€νŠΈ) μ†”λ£¨μ…˜μ„ μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add ESLint for code quality? ... ESLintλ₯Ό μ½”λ“œ ν’ˆμ§ˆ 검사 λ„κ΅¬λ‘œ μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add Prettier for code formatting? ... Prettierλ₯Ό μ½”λ“œ ν¬λ§·νŒ… λ„κ΅¬λ‘œ μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.
√ Add Vue DevTools 7 extension for debugging? (experimental) ... Vue DevTools 7 ν™•μž₯ κΈ°λŠ₯을 디버깅 λ„κ΅¬λ‘œ μΆ”κ°€ν• μ§€ μ„ νƒν•©λ‹ˆλ‹€.

 

 

Vue.js ν”„λ‘œμ νŠΈ 섀정이 μ™„λ£Œλ˜λ©΄ μœ„μ™€ 같이 λœ¨κ²Œλ˜λŠ”λ°, 이 μƒνƒœκ°€ 되면 90% μ™„λ£Œμž…λ‹ˆλ‹€!πŸ‘πŸ‘πŸ‘

 

ν”„λ‘œμ νŠΈκ°€ μƒμ„±λœ ν΄λ”μ˜ μœ„μΉ˜λ‘œ μ΄λ™ν•΄μ£Όμ„Έμš”!

cd tstory

μ €λŠ” tstoryλΌλŠ” 폴더에 tstoryλΌλŠ” ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜μ—¬ 경둜λ₯Ό λ°”κΏ”μ€¬μŠ΅λ‹ˆλ‹€.

 

 

그리고 ν”„λ‘œμ νŠΈ μ„€μ • ν›„ package.json 파일이 μƒμ„±λ©λ‹ˆλ‹€. 이 νŒŒμΌμ—λŠ” ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ μ˜μ‘΄μ„±κ³Ό 슀크립트 정보가 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ˜μ‘΄μ„±μ€ ν”„λ‘œμ νŠΈκ°€ μ‹€ν–‰λ˜λŠ” 데 ν•„μš”ν•œ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ 도ꡬλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€. 

 

그렇기에 ν•΄μ€˜μ•Ό ν•  것은 npm install λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬, package.json νŒŒμΌμ— μ •μ˜λœ μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ“€μ΄ node_modules 디렉토리에 μ„€μΉ˜ν•΄μ•Όν•©λ‹ˆλ‹€.

 

 

npm install

 

μœ„μ™€ 같이 싀행을 ν•˜κ²Œ 되면, μ„±κ³΅μ μœΌλ‘œ node_modules 디렉토리에 μ„€μΉ˜κ°€ μ™„λ£Œλœ κ²ƒμž…λ‹ˆλ‹€.

 

 

npm run devλŠ”: package.json의 scripts μ„Ήμ…˜μ— μ •μ˜λœ dev 슀크립트λ₯Ό μ‹€ν–‰ν•˜μ—¬, 개발 λͺ¨λ“œμ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€. Vue.js ν”„λ‘œμ νŠΈλŠ” npm run devλ₯Ό μ‹€ν–‰ν•˜λ©΄ κ°œλ°œ μ„œλ²„κ°€ μ‹œμž‘λ˜λŠ”λ°, 이 개발 μ„œλ²„λŠ” μ½”λ“œ λ³€κ²½ 사항을 μ‹€μ‹œκ°„μœΌλ‘œ κ°μ§€ν•˜μ—¬ λΈŒλΌμš°μ €μ— μ¦‰μ‹œ λ°˜μ˜ν•©λ‹ˆλ‹€.

npm run dev

 

μœ„μ™€ 같이 싀행을 ν•˜κ²Œ 되면

 

λ‘œμ»¬μ—μ„œ λ“€μ–΄κ°ˆ 수 μžˆλŠ” url이 λ‚˜μ˜€λŠ”λ°, ν•΄λ‹Ή url μ ‘κ·Ό μ‹œ

 

μ„±κ³΅μ μœΌλ‘œ vueν”„λ‘œμ νŠΈλ₯Ό μ‹€ν–‰μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€!πŸ‘πŸ‘