我的gulpfile中有以下代码
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重启时运行脚本和lint任务.我有以下内容
gulp.task('nodemon',function () { nodemon({ script: 'app.js' }).on('restart',function () { gulp.run(['scripts','lint']); }); });
Gulp.run()现在已被弃用,那么我如何使用gulp和最佳实践来实现上述目标?
解决方法
gulp-nodemon文档说明你可以直接执行它,传递一组任务来执行:
nodemon({script: 'app.js'}).on('restart',['scripts','lint']);
更新,因为gulp-nodemon的作者也使用run:
想法#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(); });