javascript - gulp:如何在不刷新的情况下更新浏览器(仅适用于 css 更改)

标签 javascript gulp

我设置了 gulp,以便在我进行更改时重新加载浏览器。但是,对于 css 更改,我希望浏览器在不刷新的情况下进行更新,但我不确定如何执行此操作。对于我当前的设置,我使用了 this教程:

var debug = require('gulp-debug'),
    connect = require('gulp-connect'),
    watch = require('gulp-watch'),
    livereload = require('gulp-livereload');

gulp.task('webserver', function () {
    connect.server({
        livereload: true,
        root: ['demo/']
    });
});

gulp.task('livereload', function () {
    gulp.src(['index.html', 'resources/**/*.js'])
        .pipe(watch(['resources/**/*.html', 'index.html']))
        //.pipe(debug({verbose: true}))
        .pipe(connect.reload());
});

gulp.task('watch', function () {
    livereload.listen();
    gulp.watch('resources/**/*.scss', ['css']);
});

在我的 css 任务中我也调用了

.pipe(livereload());

有什么建议我需要修改,以便在不刷新的情况下发生 css 更新吗?

更新:这是我的 css 任务(有点简化):

gulp.task('css', function () {
    ...
    return gulp.src('demo.scss')
        .pipe($.sass({
            errLogToConsole: true
        }))
        .pipe(gulp.dest('./target/')
        .pipe(livereload());
});

最佳答案

发生变化时,您需要调用livereload.changed(files)。要做到这一点,请参阅 gulp-watch doc .

watch('**/*.js', function (files) {
  livereload.changed(files)
});

关于javascript - gulp:如何在不刷新的情况下更新浏览器(仅适用于 css 更改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27591588/

相关文章:

javascript - ReactJS + MongoDB + NodeJS/ExpressJS : What is process. nextTick(function() { throw err; });?

javascript - 多次启动和停止相同的间隔

javascript - 将 meteor 部署到官方 meteor 服务器光纤

node.js - Glob/minimatch : how to gulp. src() 一切,然后排除文件夹但在其中保留一个文件

javascript - 如何使用wiredep将breeze.bridge.angular添加到我的构建过程中

javascript - 使用(使用javascript)将对象从html页面拖动到flash容器中?

javascript - 向 Textarea 添加字体 + 功能

javascript - gulp js src - base 的复制和使用

node.js - 通过 child_process.exec 命令完成后执行 gulp.js 任务

JSON 结合保持文件夹结构的 gulp 任务 - 跨平台