为什么加了gulp-plumber,less错了还中断watch?

var gulp = require( 'gulp' ),

less = require( 'gulp-less' ), // 加载less插件
rename = require('gulp-rename'), // 重命名
minifyCss = require('gulp-minify-css'),  // css压缩
clean = require('gulp-clean'),  // 删除文件
uglify = require('gulp-uglify'),  // js压缩
concat = require('gulp-concat'), // 合并文件
// jshint = require('gulp-jshint'), //
plumber = require('gulp-plumber'), // 出错不中断
imagemin = require('gulp-imagemin'); // 图片压缩

gulp.task( 'less', function() {

return gulp.src( './src/less/index.less' ) // 源文件
    .pipe( plumber() )
    .pipe( less() ) // less -> css
    .pipe( gulp.dest( 'dist/css' ) )
    .pipe( minifyCss() )
    .pipe( rename( 'index.min.css' ) )
    .pipe( gulp.dest( 'dist/css' ) ); // 复制文件到指定目录

} );
//!js代码检查*!/
gulp.task('jshint',function(){

return gulp.src('src/js/!*.js')
    .pipe( plumber() )
    .pipe( jshint() )
    .pipe( jshint.reporter() );

});*/
// 合并压缩js
gulp.task( 'copyJs', function() {

return gulp.src( './src/js/*.js' ) // 源文件
    .pipe( concat( 'index.js' ) )
    .pipe( gulp.dest( 'dist/js' ) )
    .pipe( uglify() )
    .pipe( rename( 'index.min.js' ) )
    .pipe( gulp.dest( 'dist/js' ) ); // 复制文件到指定目录

} );
// 复制html
gulp.task( 'copyHtml', function() {

return gulp.src( './src/**/*.html' ) // 源文件
    .pipe( gulp.dest( 'dist/' ) ); // 复制文件到指定目录

} );
gulp.task( 'watch', function() { // 开启监听

// 第一个参数为源文件,第二个参数为第一个参数指定的文件变化执行的任务
gulp.watch( [ './src/less/*.less' ], [ 'less' ] );
gulp.watch( [ './src/js/*.js' ], [ 'copyJs' ] );
gulp.watch( [ './src/*.html' ], [ 'copyHtml' ] );

} );
gulp.task( 'default', function(){

// 默认任务
gulp.run( 'less', 'copyJs', 'copyHtml', 'watch' );

} );

阅读 3.6k
1 个回答

好吧,今天本着从头再来的原则,又重新写了个测试demo,从0开始安装使用了下,竟然不中断。不知为什么我之前的项目就中段呢,不知道了。不管了,那就在重新安一下吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进