【发布时间】:2014-07-30 17:07:14
【问题描述】:
我现在已经尝试了所有三种我能找到的在 Gulp 中使用 livereload 的方法,但我似乎仍然遇到了同样的问题。
我启动了我的 gulp 文件,它运行得很好,所以我进入我的部分并做一个小改动(例如将 h1 标签从 thomas 更改为 chomas)并保存。我的日志显示模板正在编译,然后根据我尝试用于 livereload 的方法,它还会记录已进行的更改(因此 正在检测更改)。最后,我的浏览器将进行完全刷新,但更改仍未反映在浏览器中。如果我手动刷新浏览器,我仍然看不到更改。
我发现看到更改反映在浏览器中的唯一方法是自己手动重新启动 gulp 以查看更改。
Gulp 文件:
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var swig = require('gulp-swig');
var livereload = require('gulp-livereload');
var paths = {
scripts: ['./js/**/*.js'],
images: './img/**/*',
css: './css/**',
};
var filesToMove = [
'./css/**',
'./fonts/**/*.*',
'./favicon.png',
'./adoption-form.pdf'
];
gulp.task('move', function(){
gulp.src(filesToMove, { base: './' })
.pipe(gulp.dest('./build/'));
});
gulp.task('scripts', function() {
return gulp.src(paths.scripts)
.pipe(uglify())
.pipe(concat('all.min.js'))
.pipe(gulp.dest('./build/js'));
});
gulp.task('templates', function() {
gulp.src('./partials/**/*.html')
.pipe(swig())
.pipe(gulp.dest('./build/'))
.pipe(livereload());
});
gulp.task('images', function() {
return gulp.src(paths.images)
.pipe(imagemin({optimizationLevel: 5}))
.pipe(gulp.dest('./build/img'));
});
gulp.task('watch', function() {
gulp.watch(paths.scripts, ['scripts']);
gulp.watch('./partials/**/*.html', ['templates']);
gulp.watch(paths.images, ['images']);
gulp.watch(paths.css);
});
gulp.task('default', ['watch', 'scripts', 'templates', 'images', 'move']);
- 我在 Windows 上。
- 我安装了 livereload 插件。
- 我一直在 Chrome 上使用这一切。
- 文件正在通过 apache 服务器运行(可能这是缓存问题)。
- 但我尝试了 apache 之外的 express 服务器,结果相同。
- 我也尝试了 browser-sync 和
gulp-livereload插件
【问题讨论】:
标签: gulp livereload