[NODE] Node.js를 이용한 디렉토리 이벤트 감지
2024. 2. 21. 08:12ㆍNODEJS
반응형
Node.js를 활용하여 특정 디렉토리에서 발생하는 파일 변경 이벤트를 감지하는 방법을 소개합니다.
1. Node.js fs.watch를 이용한 이벤트 감지
다음은 특정 디렉토리에서 파일이 생성, 수정, 삭제될 때 이벤트를 감지하는 기본 코드입니다.
const fs = require('fs');
const directoryToWatch = 'D:/APM';
fs.watch(directoryToWatch, { persistent: true }, (eventType, filename) => {
if (filename) {
console.log(`파일 시스템 이벤트 발생 - 이벤트 유형: ${eventType}, 파일 이름: ${filename}`);
} else {
console.log('파일 변경 감지, 파일 이름을 확인할 수 없음.');
}
});
이 코드는 D:/APM 디렉토리 내에서 변경 사항이 발생할 때마다 이벤트를 감지하고, 어떤 파일에서 어떤 유형의 이벤트가 발생했는지를 출력합니다.
2. fs.watch의 한계점과 chokidar 사용
fs.watch는 기본적인 감시 기능을 제공하지만, 일부 환경에서는 감지되지 않는 이벤트가 발생할 수 있습니다. 더 강력한 파일 감시 기능이 필요하다면 chokidar 라이브러리를 사용할 수 있습니다.
설치
npm install chokidar
사용법
const chokidar = require('chokidar');
const watcher = chokidar.watch('D:/APM', {
ignored: /(^|[\/\\])\../, // 숨김 파일 제외
persistent: true
});
watcher
.on('add', path => console.log(`파일 추가됨: ${path}`))
.on('change', path => console.log(`파일 변경됨: ${path}`))
.on('unlink', path => console.log(`파일 삭제됨: ${path}`));
console.log('디렉토리 감시 시작...');
이 방법을 사용하면 디렉토리 내의 모든 변경 사항을 보다 안정적으로 감지할 수 있습니다.
이제 Node.js를 이용하여 디렉토리 이벤트 감지를 쉽게 구현할 수 있습니다! 🚀
'NODEJS' 카테고리의 다른 글
[NODE] 폴더의 복사 (0) | 2025.05.14 |
---|---|
[NODE] 암호화 복호화 (0) | 2025.05.14 |
[NODE] easy-ftp (0) | 2025.05.14 |
[NODE] 파일입출력 (3) | 2024.01.09 |
[NODE] FTP Client 사용 (0) | 2023.12.29 |