gulp watch时报错

发布于 2022-09-04 22:12:02 字数 3050 浏览 24 评论 0

clipboard.png

'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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡淡的优雅 2022-09-11 22:12:02

我写gulp.watch的时候,第一个参数也是数组的,如:
gulp.task('mywatch',function(){

gulp.watch(["./*.less"],["less"]);

});

不知道是不是因为这个原因,你可以试试.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文