Ниже приведены фрагменты из моего gulpfile, и в основном проблема, с которой я столкнулся, заключается в том, что open не всегда открывает новое окно браузера, когда «gulp» выполняется из CLI. Например, если я удалю сгенерированную папку «dist» и запустил «gulp», тогда «dist» выйдет из строя с файлами и структурой активов .html, но он не сможет открыть сайт в окне моего браузера ...Задача Gulp 'Open' не выполняется правильно
Если я отменил задание 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
С плагином я был в состоянии изменить порядок выполнения, чтобы: runSequence ('чистый', [ 'сценарии', 'стили', 'изображения', 'HTML'], 'открытый', обратный вызов) ; - Спасибо, он отлично работает! – leaksterrr