λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⭐ Personal_Study/Vue

Vue_CLI

by ν¬μŠ€νŠΈμ‰μ΄ν¬ 2022. 11. 9.

Vue CLI

Node.js

βœ” μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λΈŒλΌμš°μ €λ₯Ό μ‘°μž‘ν•˜λŠ” μœ μΌν•œ μ–Έμ–΄ -> λΈŒλΌμš°μ € λ°–μ—μ„œλŠ” ꡬ동할 수 μ—†μ—ˆλ‹€!
βœ” λΈŒλΌμš°μ €κ°€ μ•„λ‹Œ ν™˜κ²½μ—μ„œλ„ ꡬ동할 수 μžˆλ„λ‘ ν•˜λŠ” λŸ°νƒ€μž„ ν™˜κ²½

NPM (Node Package Manage)

βœ” μžλ°”μŠ€ν¬λ¦½νŠΈ νŒ¨ν‚€μ§€ κ΄€λ¦¬μž

Vue CLI κ°œμš”

βœ” Vue κ°œλ°œμ„ μœ„ν•œ ν‘œμ€€ 도ꡬ
βœ” ν”„λ‘œμ νŠΈμ˜ ꡬ성을 λ„μ™€μ£ΌλŠ” μ—­ν• 
βœ” ν™•μž₯ ν”ŒλŸ¬κ·ΈμΈ, GUI, Bable λ“± λ‹€μ–‘ν•œ 툴 제곡

Vue CLI μ‹œμž‘ν•˜κΈ°

  1. μ„€μΉ˜
    $npm install -g @vue/cli
  2. ν”„λ‘œμ νŠΈ 생성
    $vue create <ν”„λ‘œμ νŠΈλͺ…>
  3. 프리셋 μ„€μ •
  4. 디렉토리 이동
    cd <ν”„λ‘œμ νŠΈ λͺ…>
  5. μ„œλ²„ 가동
    npm run serve

Vue CLI ν”„λ‘œμ νŠΈ ꡬ쑰

node_modules

βœ” node.js ν™˜κ²½μ˜ μ—¬λŸ¬ μ˜μ‘΄μ„± λͺ¨λ“ˆ
βœ” python의 venv와 λΉ„μŠ·ν•œ μ—­ν• 
-> .gitignore에 μΆ”κ°€ν•˜κΈ°!!

Module

βœ” κ°œλ°œν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 크기가 컀지고 λ³΅μž‘ν•΄μ§€λ©΄ 파일 ν•˜λ‚˜μ— λͺ¨λ“  κΈ°λŠ₯을 λ‹΄κΈ°κ°€ μ–΄λ €μ›Œμ§
βœ” λ”°λΌμ„œ μžμ—°μŠ€λŸ½κ²Œ νŒŒμΌμ„ μ—¬λŸ¬κ°œλ‘œ λΆ„λ¦¬ν•˜μ—¬ 관리λ₯Ό ν•˜κ³ , μ΄λ•Œ λΆ„λ¦¬λœ 파일 각각이 λͺ¨λ“ˆ(module)
βœ” λŒ€λΆ€λΆ„ κΈ°λŠ₯ λ‹¨μœ„λ‘œ λΆ„λ¦¬ν•˜λ©°, 클래슀 ν•˜λ‚˜ ν˜Ήμ€ νŠΉμ •ν•œ λͺ©μ μ„ 가진 볡수의 ν•¨μˆ˜λ‘œ κ΅¬μ„±λœ 라이브러리 ν•˜λ‚˜λ‘œ ꡬ성됨

Module μ˜μ‘΄μ„± 문제

βœ” λͺ¨λ“ˆμ˜ μˆ˜κ°€ λ§Žμ•„μ§€κ³  라이브러리 ν˜Ήμ€ λͺ¨λ“ˆ κ°„μ˜ μ˜μ‘΄μ„±(μ—°κ²°μ„±)이 κΉŠμ–΄μ§€λ©΄μ„œ νŠΉμ •ν•œ κ³³μ—μ„œ λ°œμƒν•œ λ¬Έμ œκ°€ μ–΄λ–€ λͺ¨λ“ˆ κ°„μ˜ λ¬Έμ œμΈμ§€ νŒŒμ•…ν•˜κΈ° μ–΄λ ΅λ‹€.
βœ” Webpack λ“±μž₯!

Bundler

βœ” Bundling: λͺ¨λ“ˆ μ˜μ‘΄μ„± 문제λ₯Ό ν•΄κ²°ν•΄μ£ΌλŠ” μž‘μ—…
βœ” bundling을 ν•΄μ£ΌλŠ” 도ꡬ가 Bundler이고, Webpack은 λ‹€μ–‘ν•œ Bundler 쀑 ν•˜λ‚˜!!
βœ” λͺ¨λ“ˆμ„ ν•˜λ‚˜λ‘œ λ¬Άμ–΄μ£Όκ³  묢인 νŒŒμΌμ€ ν•˜λ‚˜(ν˜Ήμ€ μ—¬λŸ¬ 개)둜 λ§Œλ“€μ–΄μ§„λ‹€.
βœ” Bundling된 결과물을 κ°œλ³„ λͺ¨λ“ˆμ˜ μ‹€ν–‰ μˆœμ„œμ— 영ν–₯을 받지 μ•Šκ³  λ™μž‘!
βœ” Vue CLiλŠ” μ΄λŸ¬ν•œ Babel, Webpack에 λŒ€ν•œ 초기 섀정이 μžλ™μœΌλ‘œ λ˜μ–΄μžˆλ‹€!!

Webpack - static module bundler

βœ” μ˜μ‘΄μ„±μ„ Webpack이 λ‹΄λ‹Ήν•΄μ£Όλ―€λ‘œ κ°œλ°œμžλŠ” npm install을 μ‚¬μš©ν•΄ λ‹€μ–‘ν•œ λͺ¨λ“ˆμ„ ν•œ λ²ˆμ— μ„€μΉ˜ν•˜κ³  각 λͺ¨λ“ˆμ„ μ‚¬μš©ν•΄ κ°œλ°œμ— 집쀑할 수 μžˆλ‹€.

package.json

βœ” ν”„λ‘œμ νŠΈμ˜ 쒅속성 λͺ©λ‘κ³Ό μ§€μ›λ˜λŠ” λΈŒλΌμš°μ €μ— λŒ€ν•œ ꡬ성 μ˜΅μ…˜μ„ 포함

package-lock.json

βœ” node_modules에 μ„€μΉ˜λ˜λŠ” λͺ¨λ“ˆκ³Ό κ΄€λ ¨λœ λͺ¨λ“  μ˜μ‘΄μ„±μ„ μ„€μ • 및 관리
βœ” python의 requirements.txt μ—­ν• !

public/index.html

βœ” Vue μ•±μ˜ λΌˆλŒ€κ°€ λ˜λŠ” html 파일
βœ” Vue μ•±κ³Ό 연결될 μš”μ†Œκ°€ 있음

src

βœ” src/assets

  • 정적 νŒŒμΌμ„ μ €μž₯ν•˜λŠ” 디렉토리

βœ” src/components

  • ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ“€μ΄ μœ„μΉ˜

βœ” src/APP.vue

  • μ΅œμƒμœ„ μ»΄ν¬λ„ŒνŠΈ
  • public/index.htmlκ³Ό μ—°κ²°λœλ‹€.

βœ” src/main.js

  • webpack이 λΉŒλ“œλ₯Ό μ‹œμž‘ν•  λ•Œ κ°€μž₯ λ¨Όμ € λΆˆλŸ¬μ˜€λŠ” entry point
  • Vue μ „μ—­μ—μ„œ ν™œμš© ν•  λͺ¨λ“ˆμ„ 등둝할 수 μžˆλŠ” 파일

'⭐ Personal_Study > Vue' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Vue Component  (0) 2022.11.11
SFC (Single File Component)  (0) 2022.11.11
Vue: advanced attributes  (0) 2022.11.07
Vue: Basic Syntax  (0) 2022.11.07
Vue Instance  (0) 2022.11.06

λŒ“κΈ€