先週、小さな JavaScript プロジェクト用にゼロから gulpfile を作成してみました。BrowserSync を使用してコードをコンパイルし、ブラウザー (Chrome) をリロードすることにしました。週末を通してうまく機能し、私はやり遂げました。ただし、昨日プロジェクトを開いたような気がしますが、「gulp」コマンドを実行すると、ブラウザーに接続せず、「Connected to BrowserSync」メッセージが表示され、自動再読み込み機能が提供されます。ただし、コンソールでは、ファイルが更新およびコンパイルされているという通知が引き続き表示されます。
これがどのように起こるか誰にも分かりませんか?
私が使用しているgulpfileは次のとおりです。
var gulp = require('gulp'),
gutil = require('gulp-util'),
browserSync = require('browser-sync'),
reload = browserSync.reload,
jshint = require('gulp-jshint'),
sass = require('gulp-sass');
gulp.task('browser-sync', function() {
var files = [
'app/**/*/.html',
'app/assets/css/**/*.css',
'app/assets/js/**/*.js'
];
browserSync.init(files, {
server: {
baseDir: './app'
}
});
});
// process JS files and reload all browsers when complete.
gulp.task('js', function () {
return gulp.src('app/assets/js/*js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(gulp.dest('app/assets/js'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('sass', function() {
return gulp.src('app/assets/sass/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('app/assets/css'))
.pipe(reload({stream: true}));
});
// Reload all Browsers
gulp.task('bs-reload', function () {
browserSync.reload();
});
gulp.task('default', ['browser-sync'], function() {
gulp.watch('app/assets/js**/*.js', ['js']);
gulp.watch('app/assets/sass/*.scss', ['sass']);
gulp.watch('app/*html', ['bs-reload']);
});
アドバイスをありがとう!