핫 모듈 교체


핫 모듈 교체
핫 모듈 교체(HMR)는 전체 페이지를 새로 고칠 필요 없이 런타임 시 브라우저에서 모듈을 자동으로 업데이트하여 개발 환경을 개선합니다. 이는 작은 변경에도 애플리케이션 상태가 보존될 수 있음을 의미합니다. Parcel의 HMR 구현은 기본적으로 JavaScript 및 CSS 리소스를 지원합니다. 프로덕션 모드에서 패키징하면 HMR이 자동으로 비활성화됩니다.
파일을 저장하면 Parcel은 변경 사항을 다시 작성하고 새 코드가 포함된 실행 중인 클라이언트에 업데이트를 보냅니다. 새 코드는 이전 버전을 대체하고 모든 상위 리소스와 함께 다시 계산됩니다. module.hot API를 사용하여 이 프로세스에 연결할 수 있습니다. 이 API는 모듈이 삭제되려고 하거나 새 버전이 들어올 때 코드에 알릴 수 있습니다. React-hot-loader와 같은 프로젝트는 이 프로세스에 도움을 줄 수 있으며 즉시 Parcel을 사용하여 작업할 수 있습니다.
알려진 방법에는 module.hot.accept 및 module.hot.dispose 두 가지가 있습니다. 모듈이나 해당 종속 항목이 업데이트될 때 실행되는 module.hot.accept의 콜백 함수를 사용할 수 있습니다. 모듈을 교체하려고 하면 module.hot.dispose 콜백 함수가 호출됩니다.

if (module.hot) {
  module.hot.dispose(function () {
    // 模块即将被替换时
  });
  module.hot.accept(function () {
    // 模块或其依赖项之一刚刚更新时
  });
}

안전한 쓰기
일부 텍스트 편집기와 IDE에는 안전 쓰기라는 기능이 있는데, 이 기능은 기본적으로 파일의 복사본을 가져와서 이름 바꾸기를 저장할 때 복사하여 데이터 손실을 방지합니다.
HMR(핫 모듈 다시 로드)을 사용하는 경우 이 기능은 파일 업데이트의 자동 감지를 방지합니다. 안전한 쓰기를 비활성화하려면 아래 제공된 옵션을 사용하세요.
Sublime Text 3 사용자 기본 설정에omic_save: "false"를 추가하세요.
 IntelliJ 환경 설정에서 검색을 사용하여 "안전한 쓰기"를 찾아 비활성화하세요. *Vim 추가: 설정에 backupcopy=yes를 설정하세요.
WebStorm 환경 설정 > 모양 및 동작 > 시스템 설정에서 "안전한 쓰기"를 선택 취소하세요.