2016-09-10 42 views
0

我是新來的Node開發人員,正在使用Express API後端和React前端處理一個小統計應用程序。我掙扎線了一個dev的啓動腳本會看在我的文件中的更改和運行Node服務器+編譯前端資源的最佳方式?

  • 重新啓動節點服務器
  • 運行測試
  • 構建陣營前端JS,使用的WebPack
  • 編譯SCSS

我有這些單獨的工作的Gulp任務,但我不知道什麼是最好的方式來並行運行它們?

回答

1

您可以將多個gulp任務添加到單個gulp任務中,如dependent tasks。相關任務由一組吞吐任務名稱定義。任務並行運行。

gulp.task('webpack',() => { 
    // build webpack 
}); 

gulp.task('test',() => { 
    // run tests 
}); 

gulp.task('scss',() => { 
    // compile scss 
}); 

gulp.task('server',() => { 
    // run and restart server 
}); 

// Runs all the tasks in parallel 
gulp.task('run', [ 'webpack', 'scss', 'test', 'server' ]); 

如果你有一個任務,那就是依賴於其他任務,比如你可能要建立你的WebPack和啓動服務器之前編譯SCSS,您可以添加它們對單個任務的依賴性和任務在相關任務完成之前不會運行。

gulp.task('webpack', (done) => { 
    // build webpack 

    return done(); // signals completion of 'webpack' task to gulp 
}); 

gulp.task('test',() => { 
    // run tests 
}); 

gulp.task('scss', (done) => { 
    // compile scss 

    return done(); // signals completion of 'scss' task to gulp 
}); 

// The actual callback for the 'server' task won't execute until 
// the 'webpack' and 'scss' tasks have completed 
gulp.task('server', ['webpack', 'scss'],() => { 
    // run and restart server 
}); 

gulp.task('run', ['test', 'server']); 
相關問題