Modes

Mode 는 Vue CLI 프로젝트의 중요한 컨셉이다. 기본적으로 3가지 모드가 있다.

  1. development

    vue-cli-service serve 로 사용된다.

  2. test

    vue-cli-service test:unit로 사용된다.

  3. production

    vue-cli-service buildvue-cli-service test:e2e 로 사용된다.

--mode 옵션 플래그를 전달하여 명령에 사용되는 기본 모드를 덮어쓸 수 있다.

vue-cli-service build --mode development

이런 경우, build 명령어를 development 명령어로 덮어쓴다.

vue-cli-service를 실행될 때, 모든 corresponding files로부터 환경 변수가 로드된다. 만약 NODE_ENV 변수가 포함되지 않은 경우 그에 따라 설정됩니다. 예를 들어 NODE_ENV는 프로덕션 모드에서는 "production"으로, 테스트 모드에서는 "test"로, 그렇지 않으면 "development"로 설정된다.

그럼 NODE_ENV는 앱이 기본 모드(개발, 프로덕션 또는 테스트)에서 실행 중이고 결과적으로 어떤 웹 팩 구성을 만들 것인지 결정한다.

예를 들어 NODE_ENV를 "test"로 설정하면, Vue CLI는 unit test 최적화되어 있는 웹 팩 구성을 생성한다. 유닛 테스트에 불필요한 이미지 및 기타 자산은 처리하지 않는다.

마찬가지로 NODE_ENV= development 웹팩 설정을 생성하여 HMR(Hot Module Replacement)을 활성화하거나 자산을 해시하거나 vendor bundles 를 생성하여 개발 서버를 실행할 때 신속하게 재확보할 수 있다.

vue-cli-service 빌드를 실행하는 경우 배포 환경에 관계없이 NODE_ENV를 항상 "production"으로 설정하여 배포할 수 있는 앱을 얻어야 합니다.

환경에 기본 NODE_ENV가 있는 경우 vue-cli-service명령을 실행할 때 이를 제거하거나 NODE_ENV를 명시적으로 설정해야 한다.