gulp watch时报错
'use strict'
const gulp = require('gulp');
const uglify=require('gulp-uglify')
const concat=require('gulp-concat')
//css压缩及md5化
const rev = require('gulp-rev');
const mincss = require('gulp-clean-css');
const imagemin = require('gulp-imagemin');
/*
替换html中引用了css的路径,并且本身Html也得压缩
*/
const revCollector = require('gulp-rev-collector'); //替换静态资源文件名称插件
const htmlmin = require('gulp-htmlmin');
// 同步浏览器
var browserSync = require('browser-sync').create()
gulp.task('minjs',()=>{
gulp.src(['./src/static/js/*.js'],{base:'src'}).pipe(gulp.dest('./dist/'))
gulp.src(['./src/js/nav_collect.js','./src/js/nav_detail.js','src/js/nav_tab.js'])
.pipe(concat('script.js'))
.pipe(rev())
.pipe(uglify())
.pipe(gulp.dest('./dist/js'))
.pipe(rev.manifest())
.pipe(gulp.dest('./src/rev/js'))
.pipe(browserSync.reload({stream:true}));
gulp.src(['./src/js/detail.js'],{base:'src'})
.pipe(rev())
.pipe(uglify())
.pipe(gulp.dest('./dist'))
.pipe(rev.manifest())
.pipe(gulp.dest('./src/rev/js2'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('imagemin',()=>{
gulp.src(['./src/static/img/*.*'],{base:'src'})
.pipe(imagemin())
.pipe(gulp.dest('./dist/'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('mincssandcssmd5',()=>{
gulp.src(['./src/static/css/*.css'],{base:'src'}).pipe(gulp.dest('./dist/'))
gulp.src(['./src/css/*.css'],{base:'src'})
.pipe(rev())
.pipe(mincss({compatibility: 'ie8'}))
.pipe(gulp.dest('dist'))
.pipe(rev.manifest())
.pipe(gulp.dest('./src/rev/css'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('htmlminandreplaceurlname',()=>{
const options={
removeComments:true, //删除注释
collapseWhitespace:true, //删除空格
collapseBooleanAttributes:true, //省略布尔属性值
removeEmptyAttributes:true, //删除空属性
removeScriptTypeAttributes:true, // 删除script标签属性
removeStyleLinkTypeAttributes:true, //删除link标签属性
minifyJs:true, // 压缩页面js
minifyCss:true //压缩页面css
}
gulp.src(['./src/rev/**/*.json','./src/*.html','./src/views/*.html'],{base:'src'})
.pipe(revCollector())
.pipe(htmlmin(options))
.pipe(gulp.dest('dist'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('browser-sync',()=>{
browserSync.init({
server:'./dist'
})
})
gulp.task('watch',['browser-sync'],()=>{
gulp.watch('./src/js/*.js',['minjs'])
// gulp.watch('./src/static/img/*.*',['imagemin'])
// gulp.watch('./src/css/*.css',['mincssandcssmd5'])
// gulp.watch('./src/*.html',['htmlminandreplaceurlname'])
// gulp.watch('./src/views/*.html',['htmlminandreplaceurlname'])
})
gulp.task('default', ['minjs', 'imagemin', 'mincssandcssmd5','htmlminandreplaceurlname','watch']);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我写gulp.watch的时候,第一个参数也是数组的,如:
gulp.task('mywatch',function(){
});
不知道是不是因为这个原因,你可以试试.