2014-06-20 2 views
4

Gulp를 livereload와 함께 사용하여 Sass를 컴파일하고 있습니다. 변경을 할 때마다 Compass를 빌드에 추가 했으므로 sass 작업을 완료하는 데 최대 5 초가 소요됩니다.Gulp는 SASS 컴파일 속도를 향상시킵니다.

나는 다양한 캐시 플러그인 (예 :)을 읽었지만 제대로 작동하지 않습니다. gulp-cached를 추가 할 때 compliation 시간은 약 20ms로 내려 가고 변경된 sass 부분 만 처리하지만 나머지 sass 작업은 실행되지 않습니다. 여기

내 SASS 작업

gulp.task('styles', function() { 
    return gulp.src(paths.scss) 
     .pipe(cache('sass')) 
     .pipe(scss(options.scss).on('error', gutil.log)) 
     .pipe(autoprefix(options.autoprefix)) 
     .pipe(gulp.dest(dests.css)) 
     .pipe(livereload()) 
     .pipe(notify({ message: 'CSS task complete.' })); 
}); 

입니다 그리고 내 전체 gulpfile는 여기에서 찾을 수 있습니다 : http://hastebin.com/oxuxegayoj.coffee

는 캐시 플러그인 말대꾸 편집 작업 또는이 작동하는 방법입니다해야 하는가?

+0

https://github.com/hitmands/gulp-sass-pedigree – Hitmands

답변

9

gulp에서 캐시를 사용하는 이유는 파일을 불필요하게 처리하지 않기 때문입니다. 이미지 폴더를 가져 와서 변환하거나 압축하는 작업이있는 경우 변경할 때마다 모든 이미지에서 해당 작업을 실행하지 않으려 고합니다. 캐시 플러그인은 변경된 파일을 제공함으로써이를 보장합니다.

Sass 또는 여러 파일을 하나의 파일로 연결하는 다른 콘텐츠에서는 컴파일 된 결과에서 변경되지 않은 파일을 무시하기 때문에 작동하지 않습니다.

Sass는 자체 캐시를 가지고 있기 때문에 gulp 캐싱을 사용하면 얻을 수있는 이점이 효과가 있더라도 문제가 될 수 있습니다.

+0

나는 이것이 사실이라고 생각했다. 귀하의 답변 주셔서 감사합니다! – Brigante

관련 문제