以下は私の gulpfile のスニペットです。基本的に私が経験している問題は、CLI から 'gulp' を実行するたびに open が常に新しいブラウザー ウィンドウを開くとは限らないことです。たとえば、生成された「dist」フォルダーを削除して「gulp」を実行すると、「dist」は .html ファイルとアセット構造でスキャフォールディングされますが、ブラウザー ウィンドウでサイトを開くことができません...
次に、現在実行中の gulp タスクをキャンセルし、CLI から (「dist」フォルダーを配置して) 再度実行すると、gulp は新しいブラウザー ウィンドウにサイトをロードします。
何があっても毎回実行されるように設定するにはどうすればよいですか? どういうわけか「クリーン」タスクと衝突していると思いますが、よくわかりません。
どんな助けでも大歓迎です。
クリーン タスク:
gulp.task('clean', function() {
gulp.src(['./dist/**/*.*'], { read: true })
.pipe(clean())
});
タスクを開く:
gulp.task('open', function() {
gulp.src(config.startpage)
.pipe(open(config.startpage, { url: 'http://localhost:'+config.http_port }));
});
デフォルトのタスク:
gulp.task('default', ['html', 'scripts', 'styles', 'images', 'open', 'clean'], function() {
server.listen(config.livereload_port);
http.createServer(ecstatic({ root: 'dist/' } )).listen(config.http_port);
// gutil.log(gutil.colors.yellow('HTTP Server running on port:'), gutil.colors.red(config.http_port));
gulp.watch(config.src_sass, ['styles'])._watcher.on('all', livereload);
gulp.watch(config.src_js, ['scripts'])._watcher.on('all', livereload);
gulp.watch(config.src_html, ['html'])._watcher.on('all', livereload);
});
*Config.start_page は dist/index.html を指します