gulp 4.0监听,自动刷新浏览器简单配置-bak

var gulp = require('gulp');
var cssnano = require('gulp-cssnano');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var cache = require('gulp-cache');
var imagemin = require('gulp-imagemin');
var watch = require('gulp-watch');
var bs = require('browser-sync').create();
var sass = require('gulp-sass');

// 为避免写死路径,这里我们定义路径,然后方面后面随时更改.
var path = {
    'html':'./templates/**/',//中间的**代表任意目录
    'css':'./src/css/',
    'js':'./src/js/',
    'images':'./src/images/',
    'css_dist':'./dist/css/',
    'js_dist':'./dist/js/',
    'images_dist':'./dist/images'
};

//定义相应任务
//定义处理HTML文件任务,HTML文件中增删改查,可以直接在浏览器中显示出来
gulp.task('html', function () {
    gulp.src(path.html+'*.html')
        .pipe(bs.stream()) //重新加载
});

// 定义css任务
gulp.task('css', function () {
    gulp.src(path.css + '*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(cssnano())
        .pipe(rename({'suffix':'.min'}))
        .pipe(gulp.dest(path.css_dist))
        .pipe(bs.stream())
});

//定义处理js任务
gulp.task('js', function () {
    gulp.src(path.js+'*.js')
        .pipe(uglify())
        .pipe(gulp.dest(path.js_dist))
        .pipe(bs.stream())
});

//定义处理图片任务
gulp.task('images', function () {
    gulp.src(path.images+'*.*')
        .pipe(cache(imagemin()))
        .pipe(gulp.dest(path.images_dist))
        .pipe(bs.stream())
});

//定义监听文件修改的任务
gulp.task('watch', function () {
    watch(path.html+'*.html', gulp.series('html'));
    watch(path.css+'*.scss', gulp.series('css')); //这里不能用gulp.watch(),要不然本机只能加载一次,之后就无变化
    watch(path.js+'*.js', gulp.series('js'));
    watch(path.images+'*.*', gulp.series('images'));
});

//创建服务器,浏览器立马可以看到 browser-sync
gulp.task('bs', function () {
    bs.init({
        'server': {
            'baseDir':'./',
        }
    })
});

//创建一个默认服务,可以默认执行
gulp.task('default', gulp.parallel( 'bs', 'watch','css', 'js', 'images', 'html'));
// gulp.task('default', gulp.series('bs', 'watch',gulp.parallel('css', 'js', 'images') ));

一定注意:watch(),直接使用就可以,不需要用gulp.watch()…上述最后创建的default,要使用gulp.parallel函数,把需要执行的task,不要用serial,要不然css文件改变,watch根本捕捉不到,前台无任何变化!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值