Watching Files - by. UXKM

요약 설명

파일의 변경 또는 업데이트가 있고 그 결과물을 확인하려면 반드시 build 과정을 거쳐야 합니다.
gulp.watch를 이용하여 작업 시 파일의 변경, 업데이트 등을 감지하고 해당 task의 build를 진행한 후 실시간으로 브라우저에 반영할 수 있습니다.

5.1.1. path 설치

터미널에서 아래 명령을 실행하여 path를 설치합니다.
path는 파일과 디렉터리의 경로를 추출하는데 사용하는 모듈이고, gulp-watch에서는 src 폴더파일을 삭제했을 때 dist 폴더의 같은 파일을 삭제할 때에 경로를 탐색하는 용도로 사용됩니다.
gulp-watch는 gulp의 내장 api이므로 별도의 패키지 설치가 필요 없습니다.

5.2.2. gulpfile.babel.js 세팅

gulpfile.babel.js 파일의 코드를 아래처럼 추가 및 수정합니다. (영역별 설명은 주석으로 대체합니다.)
변경이 없는 부분은 생략되며, 추가된 부분수정, 삭제된 부분의 코드만 표시됩니다.
또한 변경 없음, 추가된 부분, 수정, 삭제된 부분을 표시하는 텍스트는 마우스 드래그로 선택되지 않으므로 편리하게 코드를 복사할 수 있습니다.
전체 코드는 에디터기 오른쪽 [View full code]를 클릭하여 확인할 수 있습니다.

5.2.3. gulp dev 실행

gulpfile.babel.js 파일을 세팅한 후 터미널에서 아래 명령을 실행합니다.

Gulp가 샐행되고 터미널에 Gulp의 작업 내용이 출력됩니다.

gulp dev 실행시 터미널에 작업내용 출력

watch가 실행되는 것을 확인할 수 있고, watchgulp 프로세스를 종료시킬 때까지 계속해서 지정한 파일을 감시해야 하기 때문에 종료되지 않습니다.

5.2.4. gulp-watch 동작 확인

파일 생성

src > html 폴더에 임의로 test_file.njk를 생성하면 gulphtml로 빌드하여 dist 폴더test_file.html을 생성합니다. (아래 영상 참고)

파일 삭제

방금 생성한 src > html 폴더test_file.njk를 삭제하면 gulp-watch는 이를 감지하여 dist 폴더test_file.html을 삭제합니다. (아래 영상 참고)

파일 감시

index.njk에 코드를 추가하고 저장(Ctrl + s 또는 Command + s)하면 gulp빌드를 진행하고 변경된 내용을 브라우저에 실시간으로 반영합니다.