2014-02-06 111 views
7

我在gulpfile下面的代碼Nodemon重啓運行一飲而盡任務

gulp.task('scripts', function() { 
    gulp.src(paths.browserify) 
     .pipe(browserify()) 
     .pipe(gulp.dest('./build/js')) 
     .pipe(refresh(server)); 
}); 

gulp.task('lint', function() { 
    gulp.src(paths.js) 
     .pipe(jshint()) 
     .pipe(jshint.reporter(stylish)); 
}); 

gulp.task('nodemon', function() { 
    nodemon({ 
     script: 'app.js' 
    }); 
}); 

我需要運行腳本和皮棉任務時Nodemon restarts.I有以下

gulp.task('nodemon', function() { 
    nodemon({ 
     script: 'app.js' 
    }).on('restart', function() { 
     gulp.run(['scripts', 'lint']); 
    }); 
}); 

Gulp.run ()現在已被棄用,那麼如何使用一攬子和最佳實踐來實現上述目標?

+2

如果您打算對我的問題進行投票,請添加評論,爲什麼您認爲此問題無關緊要。 – TYRONEMICHAEL

+0

也許倒票選民認爲它應該從文件中清楚,但確實,他應該說清楚他的理由。 –

+0

但是,在文檔中並不清楚。 – TYRONEMICHAEL

回答

7

一飲而盡,nodemon文檔指出您可以直接做到這一點,傳遞任務的陣列來執行:

nodemon({script: 'app.js'}).on('restart', ['scripts', 'lint']); 

doc here

UPDATE,作爲一飲而盡,nodemon的作者使用運行以及:

思想#1,使用功能:

var browserifier = function() { 
    gulp.src(paths.browserify) 
    .pipe(browserify()) 
    .pipe(gulp.dest('./build/js')) 
    .pipe(refresh(server)); 
}); 

gulp.task('scripts', browserifier); 

var linter = function() { 
    gulp.src(paths.js) 
    .pipe(jshint()) 
    .pipe(jshint.reporter(stylish)); 
}); 

gulp.task('lint', linter); 

nodemon({script: 'app.js'}).on('restart', function(){ 
    linter(); 
    browserifier(); 
}); 
+0

雅我看到這個[gulp-nodemon](https://github.com/JacksonGariety/gulp-nodemon/blob/master/index.js)。如果你點擊鏈接,你將能夠判斷出作者正在使用已棄用的gulp.run()方法?我可以在不使用gulp-nodemon的情況下使用nodemon完成所有我想要的任務。 – TYRONEMICHAEL

+0

然後使用常規函數添加了一個建議(想法圍繞「運行」棄用的想法出現了)。 –

+0

太棒了。謝謝。 – TYRONEMICHAEL

3

如果可以,請使用Mangled Deutz關於使用函數的建議。這是確保現在和未來的最佳,最有保證的方式。

但是,如果需要運行相關任務或一系列任務,函數將無濟於事。我寫了run-sequence來解決這個問題。它不依賴於gulp.run,並且它能夠按順序運行一堆任務。

+0

看起來很有趣,一定會試試看。我一直在尋找一種按順序運行任務的方法。 – TYRONEMICHAEL