【Gulp】Sass를 감시·컴파일한 타이밍에 채팅 워크에 메시지를 보낸다
sass 컴파일 작업 실행 후 채팅 작업에 메시지를 보내려고합니다. (트리거는 sass의 컴파일이 아니어도 됩니다만)
준비
프로젝트의 작업 디렉토리로 이동하여 결정된 명령
npm init
그런 다음 gulp 설치
npm install gulp --save-dev
플러그인 설치
이번에는 Sass의 컴파일이므로 "gulp-sass"라는 플러그인과 채팅 워크 전송용으로 "request"라는 플러그인을 설치합니다.
· gulp-sass
· 요청
npm install --save-dev gulp-sass request
출처
gulpfile.js를 만들고
gulpfile.js
var gulp = require('gulp');
var sass = require("gulp-sass");
gulp.task('chatwork', function() {
var request = require('request');
var room_id = '<ルームID>';
var message = '<任意のメッセージ>';
var api_key = '<API_KEY>';
var options = {
url: 'https://api.chatwork.com/v1/rooms/'+room_id+'/messages',
headers: {'X-ChatWorkToken': api_key},
form: { body: message },
json: true
};
request.post(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}else{
console.log('error: '+ response.statusCode);
}
});
});
gulp.task("sass", function() {
gulp.src("sass/*scss")
.pipe(sass())
.pipe(gulp.dest("sass"));
});
gulp.task('watch', function(){
var gaze_opt = {
debounceDelay: 10000
};
gulp.watch('sass/*.scss',gaze_opt,['chatwork','sass']);
});
※scss 파일의 내용과 장소는 원하는대로
작업 실행
gulp watch
scss 파일을 변경하고 잘하면
채팅 작업으로 확인
빠진 포인트
일반적으로 파일 감시하는 분에는 다음과 같은 느낌으로 좋지만 텍스트 편집기에 따라 저장할 때 작업 러너의 로그를 보면 두 번 달리는 경우가 발생합니다. (Sublime Text를 사용했습니다)
gulp.task('watch', function(){
gulp.watch('sass/*.scss',['chatwork','sass']);
});
같은 메시지가 두 번 채팅 워크로 전송되어 버리면 곤란하기 때문에 연속 실행을 억제합니다.
자세한 것은 이쪽
ぃ tp // m / g g와 m / ms / c6d821d72664f90f1 11
두 번째 인수에 gaze 옵션을 전달합니다.
재실행을 10초 동안 억제하려면 다음과 같이 옵션을 지정합니다.
gulp.task('watch', function(){
var gaze_opt = {
debounceDelay: 10000
};
gulp.watch('sass/*.scss',gaze_opt,['chatwork','sass']);
});
발전
없어요.
이번에 만든 샘플은 여기
Reference
이 문제에 관하여(【Gulp】Sass를 감시·컴파일한 타이밍에 채팅 워크에 메시지를 보낸다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kingpanda/items/34093cc7fc308509c61c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)