내 gulpfile은 Sass 파일에 대한 변경 사항을 감시하므로 lr 서버에 대해 새로 고침을 실행해야합니다. Sass가 각 변경 사항에 대해 컴파일되고 있기 때문에 watch 이벤트가 잘 작동하지만 브라우저가 새로 고쳐지지 않습니다. 나는 gulp-ruby-sass을 사용하여 Sass를 컴파일합니다.GulpJS : 저음 변경 사항을 반영하지 않는 라이브로드 (JS 변경 작업)
JS 파일이 브라우저 새로 고침을 실행하는 것과 거의 동일한 작업을 수행합니다. 정상적으로 작동합니다.
이하는 (축약 된) gulpfile.js입니다. 스크립트를으로 포함 시켰으므로 과 같은 방식으로 작동합니다. 작업을 수행해야합니다. 나는 새로운 플러그인과 노드 버번을 모두 제거 시도
var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
var bourbon = require('node-bourbon').includePaths;
var newer = require('gulp-newer');
var lr = require('tiny-lr');
var lrserver = lr();
var refresh = require('gulp-livereload');
gulp.task('scripts', ['vendorScripts', 'libScripts'], function() {
return gulp.src([paths.js])
.pipe(newer(paths.destJS + '/script.js'))
.pipe(concat('script.js'))
.pipe(gulp.dest(paths.destJS))
.pipe(refresh(lrserver));
});
gulp.task('styles', function() {
return gulp.src(paths.sass)
.pipe(newer(paths.destCSS))
.pipe(sass({loadPath: require('node-bourbon').includePaths}))
.pipe(gulp.dest(paths.destCSS))
.pipe(refresh(lrserver));
});
gulp.task('watch', function() {
gulp.watch(paths.jsAll, ['scripts']);
gulp.watch(paths.sass, ['styles']);
gulp.watch(paths.html, ['html']);
gulp.watch([paths.img, '!' + paths.app + '/**/images/sprites{,/**}'], ['images']);
gulp.watch(paths.sprites, ['sprites']);
});
는 필요하지만이 문제에 영향을주지 않습니다.
:gulp.task('goRefresh', ['styles'], function() {
return gulp.src([paths.app], { read: false })
.pipe(refresh(lrserver));
});
는 그 다음
watch
작업의 말대꾸가보고 변경 :
자체가 먼저 styles
작업을 호출하는 새 작업을 만듭니다 soenguy의 의견에 대 한 응답에서 해결 방법으로
'watch'없이 sass 작업을 다시 시도하고 livereload를 사용하거나 사용하지 않고'gulp styles'를 실행하려 했습니까? 먼저 제대로 작동하는지 확인하십시오. – soenguy
올바른 CSS가 출력되기 때문에 'watch'가 올바르게 작동합니다. 'gulp-styles'를 실행하면 올바른 CSS가 다시 생성되지만 브라우저가 새로 고쳐지지 않습니다 (그러나'serve' 작업 (표시되지 않음)이 시작되지 않으므로 수행되지 않습니다). – Fisu
문제가 발생하는 이유를 알 수 없습니다. 비록 내가 완벽하지는 않지만 시도 할 수있는 한가지는 css 파일을보고 리로드를위한 특정 작업 만 빌드하는 것입니다. sass 파일을 컴파일하면 css가 변경되고'livereload'를 실행할 수 있습니다. 다른 누군가가 더 나은 (그리고 작동하는 해결책을 찾을 때까지) 이것은 작업을 할 수 있습니다. 그게 내 마음에 오는 첫 번째 트릭이지만, 다른 사람들이이 작업을 할 수 있도록 주위를 둘러 볼 수있다. (예를 들어, 스타일 작업의 끝 부분에서'gulp.start '로'scripts' 태스크를 호출하는 것과 같이). – soenguy