Welcome :っ)

Devlog/Front-End

[Vue.js] Vue CLI로 Vue 프로젝트 생성하기_ch.3

lazy.won 2022. 3. 5. 16:12
728x90
반응형

 

 

 

Vue CLI 설치

Vue CLI는 Vue 프로젝트를 빠르게 구성하고, 빌드, 배포 할 수 있게 도와주는 도구이다.

vs code의 터미널에 다음 명령어를 입력하여 Vue CLI를 설치한다. 

npm install -g @vue/cli

 

-g(global)

npm install -g 패키지명

-g 옵션을 사용하면 설치하는 패키지가 현재 디렉토리뿐만 아니라 앞으로 생성하게 되는 모든 프로젝트에서 사용할 수 있는 global 패키지로 등록된다. 

 

--save 

npm install 패키지명 --save

./node_modules에 패키지를 설치한다. 그 다음 package.json 파일에 있는 dependencies 객체에 설치한 패키지 정보를 추가한다. 설치되는 모든 패키지는 node_modeuls 디렉터리에 설치되어 node_modules 디렉토리에서 현재 사용되고 있는 모든 패키지를 확인할 수 있다. 

팀원들과 공동 작업 시 매번 패키지 파일 전체를 공유하는 일은 자원 낭비가 될 수 있다. 그래서 패키지 설치할 때 --save 옵션을 사용한다. 

--save 옵션을 사용하면 package.json 파일에 설치한 패키지 정보가 추가된다. packge.json 파일을 팀원들에게 공유하면 npm install 명령어를 입력하여 현재 내 프로젝트 디렉토리에 없는 패키지 전체를 한번에 설치할 수 있다. 

 

 

Default 옵션으로 프로젝트 설치하기

Vue 프로젝트 생성

'vue-project'라는 프로젝트명으로 프로젝트 생성한다. 

vue create vue-project

vue 설치 옵션이 나타나는데, 책에서 Vue3 버전을 사용하므로 키보드 방향키를 이용해 Default (Vue 3 Preview)를 선택하고 엔터를 입력한다. 설치가 완료되면 Vue 프로젝트 개발을 위한 가장 기본이 되는 파일들이 자동으로 생성된다. 

 

Vue 프로젝트 실행

생성된 프로젝트로 이동한다.

cd vue-project

명령어 npm run serve를 입력하면 서버가 시작되며, 프로젝트는 기본 포트인 8080(http://localhost:8080/)으로 실행된다. 

기본 포트 외에 다른 포트를 사용하려면 npm run serve -- --port 8090 명령어로 직접 포트번호를 지정할 수 있다. 

 

Vue 프로젝트 파일 구조

vue-project 파일 구조

node_modules npm으로 설치된 패키지 파일들이 모여 있는 디렉토리
public 웹팩(webpack)을 통해 관리되지 않는 정적 리소스가 모여 있는 디렉토리
src/assets 이미지, css, 폰트 등을 관리하는 디렉토리
src/components Vue 컴포넌트 파일이 모여 있는 디렉토리
App.vue 최상위(Root) 컴포넌트
main.js 가장 먼저 실행되는 자바스크립트 파일로써, Vue 인스턴스를 생성하는 역할
.gitignore 깃허브 업로드 시 제외할 파일 설정
babel.config.js 바벨(Babel) 설정 파일
package-lock.json 설치된 package의 dependency 정보를 관리하는 파일
package.json 프로젝트에 필요한 package를 정의하고 관리하는 파일
README.md 프로젝트 정보를 기록하는 파일

 

package.json 파일의 내용을 살펴보자.

{
  "name": "vue-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.8.3",
    "vue": "^2.6.14"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3",
    "vue-template-compiler": "^2.6.14"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "@babel/eslint-parser"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}
name 프로젝트 이름
version 프로젝트의 버전
private true로 설정 시 해당 프로젝트를 npm으로 올릴 수 없다. 개발자 실수에 의한 배포를 막을 수 있다. 
scripts 프로젝트 실행 관련 명령어를 등록한다. 
프로젝트 실행, 빌드 등과 같이 개발, 운영 시 사용되는 script 명령어를 등록하여 쉽게 사용할 수 있다. 
개발자가 직접 정의한 script는 npm run 명령어로 사용하고, npm에서 제공되는 명령어는 npm 명령어로 사용한다. 
dependencies 사용중인 패키지 정보 
devDependencies 프로젝트 배포 시 필요없는, 개발 시에만 필요한 패키지 정보
eslintConfig ECMAScript/Javascript 코드에서 발견된 패턴을 개발자에게 알려주는 플러그인
browserslist 전 세계 상위 1% 이상 사용된 브라우저의 최신 버전 2개 지원하도록 한다. 

 

 

Manually select features 옵션으로 프로젝트 설치하기

앞서 Vue 프로젝트 생성 시 Vue CLI의 default 옵션을 선택하여 생성했다.

이번에는 Manually select features 옵션을 이용하여 프로젝트를 설치하는 방법을 알아보자.

 

Vue 프로젝트 생성

'vue-project-manually'라는 프로젝트명으로 프로젝트 생성한다. 

vue create vue-project-manually

vue 설치 옵션에서 'Manually select features' 선택한다.

프로젝트에 필요한 features를 스페이스키를 이용해 선택한다. 책에서는 Choose Vue version(아래 내가 설치한 Vue CLI버전에서는 안보임), Babel, Router, Vuex, Linter/Formatter 를 선택했다.

이후에 앞서 선택한 features에 대해 하나하나 세부 옵션을 선택해야 한다. 가장 먼저 Vue 3.x 버전을 선택한다. 

Vue-Router에서 history 모드를 사용할 것인지 묻는다. 'Y'를 입력한다.

ESLint + Standard config를 선택한다. 이 옵션은 코딩 규칙을 위해 사용된다. 팀 작업 시 개발자들끼리 공통된 코딩 스타일을 맞추기 위해 필요한 부분이다. 

Lint 적용을 저장 시점에 하기 위해 Lint on save를 선택한다. 

앞서 선택한 features인 Babel, ESLint 등에 대한 설정 옵션 파일을 별도의 config 파일로 만들지 package.json 파일 안에 만들지에 대한 옵션이다. In package.json을 선택한다. 

마지막 옵션은 앞에서 선택한 옵션을 저장하여 향후 vue 프로젝트 생성 시 앞서 선택한 옵션과 동일한 프로젝트를 빠르게 생성할 수 있도록 preset을 저장할 수 있는 옵션이다. 'y'를 입력하고, preset 이름을 'vue basic'이라 입력한다. 

 

preset으로 저장한 옵션이 어떻게 동작하는지 확인해보자.

터미널에서 명령어 vue create vue-preset를 입력한다. 그러면 아래와 같이 Default, Manually select features 옵션 외에도 앞서 저장한 preset인 vue basic 옵션이 생긴것을 볼 수 있다. 

 

 

Vue 프로젝트 파일 구조

vue-preset 파일 구조

설치된 파일을 보면 앞에서 default로 설치했을때 보다 2개의 폴더가 더 보인다. 

router와 vuex를 선택했기 때문에, 이를 통해 router와 store 폴더가 생긴것을 볼 수 있다. 

 

 

Vue 프로젝트 매니저로 프로젝트 설치

Vue 프로젝트 매니저를 이용하면 GUI 환경에서 좀 더 쉽게 프로젝트를 생성할 수 있다. 

vue ui

위 명령어를 통해 Vue 프로젝트 매니저를 실행시킬 수 있다. 

나의 경우 터미널에서 명령어를 이용하는 것이 더 빠르고 편하기 때문에 굳이 사용법을 기록하지는 않겠다. 

 

 

 

 

 

 

※ 출처 고승원Vue.js 프로젝트 투입 일주일 전, 비제이퍼블릭, p44-69.

 

320x100
반응형