Vue 프로젝트 기본 설정 가이드

1. 프로젝트 초기화

Vue.js 기반 프로젝트를 구축하려면 먼저 Node.js를 설치해야 합니다. 설치 후 NPM을 통해 Vue CLI 3.0 이상 버전을 전역으로 설치합니다. CLI는 vue ui 명령어로 그래픽 인터페이스를 제공하거나, vue create <project-name> 명령어로 터미널에서 직접 프로젝트를 생성할 수 있습니다.

프로젝트 생성 시 중요한 점은 설정 파일을 분리하는 것입니다. 기본적으로 생성되는 vue.config.js 하나에 모든 설정을 넣기보다는, 각 기능별로 나누어 관리하는 것이 유지보수에 유리합니다.

프로젝트 생성이 완료되면 npm run serve 명령어로 개발 서버를 실행합니다. 추가적인 플러그인과 로더 설치는 프로젝트 디렉토리에서 별도의 터미널을 열어 진행합니다.

2. 필수 로더 및 패키지 설정

다양한 파일 형식을 처리하기 위해 아래 패키지들을 설치하고 설정합니다.

2.1 file-loader

SVG, 이미지 등 정적 파일을 로드하기 위해 필요합니다. 별도 설정 없이 바로 사용 가능합니다.

npm install file-loader --save-dev

2.2 svg-sprite-loader

아이콘을 효율적으로 관리하기 위해 SVG 스프라이트를 생성합니다. 설정이 필요하므로 프로젝트 루트에 vue.config.js 파일을 생성하고 아래와 같이 Webpack 체인을 구성합니다.

const path = require('path');

module.exports = {
  chainWebpack: config => {
    config.module
      .rule('svg')
      .exclude.add(path.resolve('./src/icons'))
      .end();

    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(path.resolve('./src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({ symbolId: 'icon-[name]' })
      .end();
  }
};

2.3 normalize.css

브라우저 간 기본 스타일 차이를 없애기 위해 사용합니다.

npm install normalize.css

설치 후 main.js에서 import 합니다.

import 'normalize.css';

2.4 js-cookie

쿠키를 간편하게 다루기 위한 라이브러리입니다.

npm install js-cookie

2.5 autoprefixer

CSS에 자동으로 vendor prefix를 추가합니다. .browserslistrc 파일에서 지원할 브라우저 범위를 설정할 수 있습니다. 자세한 설정은 공식 GitHub 저장소를 참고하세요.

2.6 경로 alias 설정

깊은 디렉토리 구조에서 import 경로를 간결하게 만들기 위해 alias를 설정합니다. vue.config.js에 다음과 같이 추가합니다.

const path = require('path');

module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        view: path.resolve('./src/views'),
        comp: path.resolve('./src/components'),
        api: path.resolve('./src/api'),
        layer: path.resolve('./src/layers'),
        icon: path.resolve('./src/icons')
      }
    }
  }
};

설정 후에는 import api from 'api/login' 형태로 사용할 수 있습니다.

2.7 Webpack 설정 확인 및 재시작

Webpack 설정이 올바른지 확인하려면 vue inspect --rule <rule-name> 명령어를 사용합니다. 모든 설정이 완료되면 개발 서버를 재시작합니다.

3. ESLint 설정

코드 품질과 일관성을 유지하기 위해 ESLint를 설정합니다.

3.1 프로젝트 생성 시 ESLint 선택

vue create 명령어로 프로젝트를 생성할 때 ESLint 기능을 활성화하고, "저장 시 자동 수정" 옵션을 선택합니다. 코드 스타일 규칙은 Prettier를 권장합니다.

3.2 추가 패키지 설치

HTML 파일 내의 JavaScript 코드도 검사하려면 eslint-plugin-html을 설치합니다. 별도 설정은 필요하지 않습니다.

npm install eslint-plugin-html --save-dev

3.3 VSCode 설정

VSCode에서 ESLint 플러그인을 사용하려면 settings.json을 열어 다음 옵션을 추가합니다.

{
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  },
  "editor.tabSize": 2
}

3.4 .eslintrc.js 설정

프로젝트 루트의 .eslintrc.js 파일을 다음과 같이 구성합니다.

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: ['plugin:vue/essential', '@vue/prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  },
  parserOptions: {
    parser: 'babel-eslint'
  }
};

태그: vue Vue CLI Webpack ESLint Prettier

7월 5일 20:31에 게시됨