2015-01-23 3 views
4

처음으로 꿀꺽 꿀꺽 사용을 시작 했으므로 사용하려는 모든 플러그인이 필요하고 sass 컴파일을위한 첫 번째 작업이 작성되었습니다. 작동하는 것처럼 보이지만 두 가지 문제가 있습니다. 첫 번째로 명령 줄에 꿀꺽 꿀꺽 마시는 것을 입력하면 3 ~ 4 초가 걸리는 것처럼 보이기 시작하는 것보다 더 느린 것 같습니다. (꿀꺽 꿀꺽 사용하는 것이 더 빠르기 때문에 이해하기 시작했습니다.) 이게 정상인가?작업을 실행하고 두 번 알림 작업을 수행하는 멍청한 파일

하지만 주요 문제는 내가 sass 작업을 호출하는 기본 작업이 있다는 것입니다. 커맨드 라인 출력은 두 가지 모두 실행 중이라는 것을 의미하는 것으로 보이는데, 이는 sass가 두 번 컴파일된다는 것을 의미합니다. 또한 내 꿀꺽 꿀꺽 소리 나는 알림을 두 번 출력하고 있는데 이는 옳지 않은 것 같습니다. 여기

다음

명령 줄 출력은 ...

λ gulp default 
[00:53:40] Using gulpfile ~\Desktop\jon\gulpfile.js 
[00:53:40] Starting 'sass'... 
[00:53:40] Finished 'sass' after 10 ms 
[00:53:40] Starting 'default'... 
[00:53:40] Finished 'default' after 7.93 μs 
[00:53:41] gulp-notify: [Gulp notification] Css created 
[00:53:41] gulp-notify: [Gulp notification] Css created 

을 그리고는

var gulp = require('gulp'), 
    gutil = require('gulp-util'), 
    compass = require('gulp-compass'), 
    rename = require('gulp-rename'), 
    uglify = require('gulp-uglify'), 
    watch = require('gulp-watch'), 
    concat = require('gulp-concat'), 
    notify = require('gulp-notify'), 
    jshint = require('gulp-jshint'), 
    autoprefixer = require('gulp-autoprefixer'), 
    minifyCSS = require('gulp-minify-css'), 
    traceur = require('gulp-traceur'), 
    svgmin = require('gulp-svgmin'), 
    imagemin = require('gulp-imagemin'), 
    ngAnnotate = require('gulp-ng-annotate'), 
    expect = require('gulp-expect-file'), 
    sourcemaps = require('gulp-sourcemaps'); 

var paths = { 
    src: "src", 
    css: "stylesheets", 
    img: "images", 
    js: "js" 
} 


// Compile Our Sass 
gulp.task('sass', function() { 

    gulp.src(paths.src + '/sass/*.scss') 
     .pipe(sourcemaps.init()) 
     .pipe(compass({ 
      sass: 'src/sass', 
      environment: 'development', 
      outputStyle: 'expanded', 
      debugInfo: false, 
      noLineComments: true 
     })) 
     .pipe(autoprefixer('> 5%', 'last 2 version', 'ie 9')) 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest(paths.css)) 
     .pipe(notify({ message: 'Css created' })); 

}); 


// Dev Task 
gulp.task('default', ['sass']); 

아무도 여기 무슨 일이야 알고 ... 전체 내 꿀꺽 파일입니다? Gulp 작업이 어떻게 작동하는지 오해 했습니까?

//... 
.pipe(notify({message: 'Css created', onLast: true})); 
+0

절반 추측 : 통과하는 각 파일에 실행에 통보 만 당 스트림 하나의 통지를 원하는 경우 – Heikki

+0

아마 파이핑이 어떻게 작동하는지 이해할 수 없지만 통과 된 CSS 파일 외에도 파이프를 통해 생성 된 소스 맵이 전달되지 않는다고 생각합니다. – jonhobbs

+0

소스 맵이 있습니다. '.pipe (notify ('<% = file.relative %>'))' – Heikki

답변

15

가의 onLast 옵션을 사용 꿀꺽을-통지합니다. 이 경우에는 css와 sourcemap 파일이 있습니다.
+0

으로 볼 수 있습니다. 매우 편리합니다. 출력 로그에서 SASS를 실행하고 DEFAULT를 실행 중이며 sass 작업을 두 번 실행하지 않는다는 사실을 알 수 있습니까? (기본값이기 때문에) – jonhobbs

+0

'default' 태스크는 아무 것도하지 않습니다. 따라서 꿀꺽 꿀꺽하게'default'의 의존성을 먼저 실행 한 다음, no-op'default' 작업을 실행합니다. 'sass'를 두 번 실행하면 출력에서 ​​두 번 볼 수 있습니다. – Ben

관련 문제