Vue CLI는 플러그인 기반 아키텍처를 사용한다. 새로 만든 프로젝트의 패키지를 검사하는 경우 package.json 를 확인하면, @vue/cli-plugin-.로시작하는 종속성을 찾을 수 있다.

플러그인은 내부 웹 팩 구성을 수정하고 'vue-cli-service'에 명령을 주입할 수 있다. 프로젝트 생성 프로세스 중에 나열된 대부분의 기능은 플러그인으로 구현된다.


Babel

최신 사양의 자바스크립트 코드를 IE나 구형 브라우저에서도 동작하는 ES5 이하의 코드로 변환(트랜스파일링) 하기 위한 용도로 사용된다.

Configuration

기본적으로 Babel 7 + babel-loader + @vue/babel-preset-app 사용하지만, babel.config.js를 통해서 다른 Babel 설정과 플러그인을 사용할 수 있다.

기본적으로 바벨은 node_modules 종속성을 가진 파일들을 배제한다. 만약 종속성 있는 모듈들은 명시적으로 transpile하고 싶다면, transpileDependencies에서 vue.config.js 에서 설정하면 된다.