【发布时间】:2018-11-30 04:44:24
【问题描述】:
我正在学习来自here 的 Gulp 基本教程,但我被困在浏览器同步实现上。我已经完全按照示例中的方式复制了代码,但是当我运行 watch 任务时,即使 sass 任务执行没有问题(创建了新版本的 css 文件),浏览器也不想刷新!这是我的代码:
var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync').create();
gulp.task('sass', function() {
return gulp.src('app/scss/**/*.scss') // Gets all files ending with .scss in app/scss
.pipe(sass())
.pipe(gulp.dest('app/css'))
.pipe(browserSync.reload({stream: true}));
});
gulp.task('browserSync', ['sass'], function() {
browserSync.init({
server: {
baseDir: 'app'
},
})
})
gulp.task('watch', ['browserSync'], function() {
gulp.watch('app/scss/**/*.scss', ['sass']);
// Other watchers
});
这是我的 index.html
<!doctype html>
<html>
<head>
<title>test</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>
<body></body>
</html>
我的 styles.scss 文件只有一种样式:
body {
background: blue;
}
这是我更新 styles.scss 时控制台窗口的输出
所以我可以看到浏览器同步知道所做的更改,但它不会在浏览器中重新加载页面。这是为什么?我查看了教程下的 cmets,似乎没有人面临类似的问题。我还看过其他几个教程,但没有一个对我有用。我使用最新版本的 chrome 作为我的默认浏览器,浏览器同步版本 5.6.0 和 gulp 版本 3.9.1
【问题讨论】:
标签: css gulp browser-sync gulp-watch