Vue.js Starter - Vue CLI
Vue.js νλ‘μ νΈ ν¬μ μΌμ£ΌμΌ μ - Part 1
1. Vue.js Characteristics π©βπ»
1. MVVM Pattern
Model-View-ViewModelμ μ¬μ©νλ€.

2. Component
Viewλ₯Ό μ¬λ¬ κ°λ‘ μͺΌκ° μ¬μ¬μ© ν μ μλ κ΅¬μ‘°λ‘ κ°λ°νλ€.
Vueμμ νλμ μ»΄ν¬λνΈλ HTML + CSS + JavaScriptλ‘ μ΄λ£¨μ΄μ Έμλ€.
2. Vue CLI π©βπ»
1. npm install
- local installation
npm install [library]
- global installation
npm install -g [library]
package.json>dependenciesμ ν¨ν€μ§ μ μ‘°λ₯Ό λ±λ‘νλ©° μ€μΉ
npm install --save [library]
package.json>devDependenciesμ ν¨ν€μ§ μ μ‘°λ₯Ό λ±λ‘νλ©° μ€μΉ
npm install --save-dev [library]
installμiλ‘,--saveλ-Sλ‘,--save-devλ-Dλ‘ μΆμ½ κ°λ₯νλ€
npm i -S [library]
npm i -D [library]
κ°κΈμ vue, vue/cli λ global λ‘ μ€μΉνμ
npm install -g vue@3.2.45 @vue/cli
2. Create App
JavaScriptμ npm init, TypeScriptμ tsc --init,
Angularμ ng new [App Name]μ²λΌ Vueλ vue create [App Name]μ
μ΄μ©ν΄ νλ‘μ νΈλ₯Ό μμ±ν μ μλ€.
vue create [App Name]
3. Run App
cd [App Name]
run npm serve -- --port [Port Number]
run npm serve --port [Port Number]κ°μ§λ§run npm serve -- --port [Port Number]λ€.
4. Vue Project Structures
App.vue: Root Component- main.js: κ°μ₯ λ¨Όμ μ€νλλ
JavaScriptνμΌλ‘Vueinstance λ₯Ό μμ±νλ μν - node_modules: npm μΌλ‘ μ€μΉλ ν¨ν€μ§ νμΌλ€μ΄ λͺ¨μ¬ μλ λλ ν 리
- package.json: νλ‘μ νΈμ νμν package λ₯Ό μ μνκ³ κ΄λ¦¬
- package-lock.json: μ€μΉλ package μ dependency μ 보λ₯Ό κ΄λ¦¬
- public: webpack μ ν΅ν΄ κ΄λ¦¬λμ§ μλ static resources κ° λͺ¨μ¬ μλ λλ ν 리
- src/assets: images, css, fonts λ±μ κ΄λ¦¬νλ λλ ν 리
- src/components: Vue Components νμΌμ΄ λͺ¨μ¬ μλ λλ ν 리
5. package.json
- name: νλ‘μ νΈ μ΄λ¦
- version: νλ‘μ νΈ λ²μ μ 보
- private:
trueλ‘ μ€μ νλ©΄ νλ‘μ νΈλ₯ΌnpmμΌλ‘ μ¬λ¦΄ μ μμ΄npmμ μ¬λ €λ λ°°ν¬κ° μ λλ€. - scripts: νλ‘μ νΈ μ€νκ³Ό κ΄λ ¨λ λͺ λ Ήμ΄λ₯Ό λ±λ‘
- dependencies: λ°°ν¬μ© ν¨ν€μ§ μ 보
- devDependencies: κ°λ°μ© ν¨ν€μ§ μ 보
- eslintConfig:
ESLintμ€μ - browserlist: default λ‘ μ μΈκ³ μμ 1% μ΄μ μ¬μ© & μ΅μ λ²μ 2κ°κΉμ§ μ§μνλλ‘ μ€μ
6. Create App Manually
vue create [App Name]μ ν ν Manually select featuresλ₯Ό μ ννλ€.


- Babel: ES5 μ΄ν λ²μ νΈνμΌλ‘ Transpile
- TypeScript
- Progressive Web App (PWA) Support: μΉ μ± κ°λ°μ©
- Router
- Vuex:
Vueμ μν κ΄λ¦¬λ₯Ό μν ν¨ν€μ§ - CSS Pre-processors:
Sass,Less,Stylusλ±CSSμμ±μ μνCSSμ μ²λ¦¬κΈ° - Linter / Formatter:
JavaScriptCoding Convention (Standard Guide) - Unit Testing:
Mochaλ± λ¨μ ν μ€νΈλ₯Ό μν λΌμ΄λΈλ¬λ¦¬ - E2E Testing:
End-to-Endν΅ν© ν μ€νΈλ₯Ό μν νλ¬κ·ΈμΈ
μμ μμλ Babel, Router, Vuex, Linter / Formatterλ₯Ό μ ννλ€.
Vueλ²μ μ3Router history modeλYEslintλESLint + Standard config,Lint on save,In package.json
μ μ°¨λ‘λ‘ μ ννλ€.
κ·Έλ¦¬κ³ λ§μ§λ§μΌλ‘ ν΄λΉ μ€μ μ presetμΌλ‘ μ μ₯ν κ²μΈμ§ 묻λλ€. μ μ₯μ μνλ©΄ μ΄λ¦μ μ§μ ν
μ μ₯νλ©΄ λ€μλΆν° μλμ κ°μ΄ νλ‘μ νΈλ₯Ό μμ±ν μ μλ€.
preset μ΄λ¦μ vue basicμΌλ‘ μ μ₯ν κ²½μ° λ€μκ³Ό κ°μ΄ vue create [App Name]μ νμΈ κ°λ₯νλ€.

7. Vue Project Manager
Vue Project Managerλ vue ui λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ μ€ννλ€.

μΉ νμ΄μ§λ₯Ό ν΅ν΄ νλ‘μ νΈλ₯Ό μμ±νκ³ κ΄λ¦¬ν μ μλ€.

Vue Project Managerλ‘ μμ±νμ§ μκ³Vue CLIλ‘λ§ μμ±ν νλ‘μ νΈλ νλ‘μ νΈ λ¦¬μ€νΈμ 보μ΄μ§ μλλ€.κ°μ Έμ€κΈ°λ₯Ό ν΅ν΄ λ§€λμ μ λ±λ‘ ν νμΈ κ°λ₯νλ€.
Reference
- κ³ μΉμ. Vue.js νλ‘μ νΈ ν¬μ μΌμ£ΌμΌ μ . λΉμ μ΄νΌλΈλ¦ Chapter 1, 2021.
- κ³ μΉμ. Vue.js νλ‘μ νΈ ν¬μ μΌμ£ΌμΌ μ . λΉμ μ΄νΌλΈλ¦ Chapter 2, 2021.
- κ³ μΉμ. Vue.js νλ‘μ νΈ ν¬μ μΌμ£ΌμΌ μ . λΉμ μ΄νΌλΈλ¦ Chapter 3, 2021.