首先,你的gulp写法还存在点问题,gulp.src()参数如果是数组,!表示排除模式,但是不能在数组中的第一个元素中使用排除模式。那样是不生效的。比如:gulp.src([*.js,'!b*.js']) //匹配所有js文件,但排除掉以b开头的js文件gulp.src(['!b*.js',*.js]) //不会排除任何文件,因为排除模式不能出现在数组的第一个元素中
还有建议这样写gulp任务:
var gulp = require('gulp'), // gulp核心模块
DEST = 'public', // 编译目录
CSS_DEST = 'public/css', // css编译目录
JS_DEST = 'public/js', // js编译目录
IMG_DEST = 'public/img', // img编译目录
HTML_DEST = 'var/build', // html编译目录
WEB_PORT = 9000, // 服务器监听的端口
$ = require('gulp-load-plugins')(); // gulp插件加载模块// .... 其他代码省略掉了// ---- 这里是你要的: 处理html ------gulp.task('htmls', function() { return gulp.src(['share/jade/**/*.jade','!share/jade/compoments/_*.jade'])
.pipe($.jade({pretty: '\t'})) // 压缩html (不要这个功能的话可以去掉)
.pipe($.rename({ suffix: '.min', extname: '.html'
}))
.pipe($.minifyHtml())
.pipe(gulp.dest(HTML_DEST))
});