위키득계정 ↗
기술

Chokidar

Chokidar기술
사용 환경
Node.js
주요 역할
파일 변경 감시
대표 이벤트
추가 변경 삭제
감시 방식
네이티브 알림 또는 폴링
Chokidar는 Node.js에서 여러 운영체제의 파일 변경 알림을 다루는 라이브러리다. 생성과 수정, 삭제 이벤트를 정리해 전달하고 재귀 감시와 경로 필터, 네이티브 감시 또는 폴링을 제공한다.

알림을 일관된 이벤트로 정리하기

운영체제의 원시 알림은 같은 작업에서도 이름 변경이나 중복 이벤트로 나타날 수 있다. Chokidar는 이를 확인하고 중복을 정리해 경로와 함께 전달한다. 파일뿐 아니라 디렉터리의 추가와 삭제, 초기 탐색 완료 및 오류도 이벤트로 다룬다.

감시 범위와 방식

지정 경로의 하위 디렉터리를 재귀적으로 감시하고 최대 깊이나 제외 조건을 설정할 수 있다. 기본 네이티브 감시 외에 특수한 파일 시스템을 위한 폴링도 제공한다. 폴링은 상태를 주기적으로 비교하므로 처리 비용과 발견 가능한 변경의 범위가 네이티브 알림과 다르다.

저장 완료와 파일 교체

임시 파일로 저장한 뒤 원본을 교체하는 작업을 하나의 변경으로 정리할 수 있다. 큰 파일을 나누어 쓰는 경우에는 크기가 일정 시간 안정될 때까지 이벤트를 기다리는 기능도 제공한다. 기다리는 시간이 길면 반응은 늦어지므로 즉시 알림과 쓰기 완료 추정 사이에서 선택한다.

관련 문서

Nodemon / Watchman / Watchexec / Node.js / 파일 시스템 / 폴링