當我對main.scss
文件進行更改時,似乎無法使用Browersync實現自動重新載入。我已經讓Browsersync在html
更改後自動重新加載瀏覽器,但不是css
使用Browersync自動重新載入css
使用gulp作爲我的任務管理器。 我在這裏錯過了什麼讓瀏覽器在css更改後重新加載?或者Browersync和gulp集成不支持在css
更改之後重新加載?
我在這個主題上搜索了一下,我注意到還有一些其他人也收到了同樣的問題。
如果我無法弄清楚這一點,你會推薦我用於自動重新加載css更改? Chromedev工具? Nodemon?或Chrome擴展程序?
這裏是我的gulpfile
// refferance gulp
var gulp = require('gulp');
// browser-sync
var browserSync = require('browser-sync');
var reload = browserSync.reload;
// other packages installed
var concat = require('gulp-concat');
var cssmin = require('gulp-minify-css');
var rename = require('gulp-rename');
var scss = require('gulp-sass');
var uglify = require('gulp-uglify');
var source = {
scss: './/src/scss/*.scss',
css: './/dest/css/*.css',
html: './*.html'
};
// browser-sync task
gulp.task('browser-sync',['styles'], function(){
browserSync({
server:'./'
});
gulp.watch(source.scss,['scss']);
gulp.watch(source.html).on('change',reload);
});
// scripts task
gulp.task('scripts', function(){
// fetch all files in the .js extension in the /src/js directory
return gulp.src('./src/js/*.js')
// concatinate files and save as app.js
.pipe(concat('app.js'))
// save app.js in dest directory
.pipe(gulp.dest('./dest/js/'))
.pipe(uglify())
// minfiy file and rename to app.min.js
.pipe(rename({
suffix: '.min'
}))
// save in dest directory
.pipe(gulp.dest('./dest/js'));
});
// styles task
gulp.task('styles', function(){
// fetch all files with scss extension in /src/scss directory
return gulp.src('./src/scss/*.scss')
// compile scss
.pipe(scss())
// output css in css dest directory
.pipe(gulp.dest('./dest/css/'))
// minify css
.pipe(cssmin())
// rename as styles.min.css
.pipe(rename({
suffix: '.min'
}))
// save in same directory
.pipe(gulp.dest('./dest/css'))
// injecting css into browser via browsersync
.pipe(reload({stream:true}));
});
// we use the watch task in the default task bellow
gulp.task('watch',function(){
// watch js
gulp.watch('./src/js/*.js',['scripts']);
// watch scss
gulp.watch('./src/scss/*.scss',['styles']);
});
// default task allows us to run all tasks at once by just runing `gulp` in command line
gulp.task('default', ['scripts', 'styles', 'browser-sync', 'watch']);
從我所收集你告訴我換'gulp.watch(source.scss,[ 'SCSS']);'你gulp.watch的'例子(」 ./ SRC/SCSS/* .scss',['styles']);'在我的瀏覽器同步任務中。 – roygbiv
是的,但你必須爲你選擇相關的scss路徑。 – Rokie
不幸...使用了你提供的那一行,因爲我很興奮地將我的目錄結構設置爲引用scss路徑 – roygbiv