var el = document.querySelector('.layout__body');
var names = "h1, h2, h3, h4, h5, h6, p, img";
function doSomeEpic (element, tags) {
if (element.previousSibling !== null) {
console.log('PrevSib: ' + element.previousSibling.nodeName);
if (!tags.split(', ').includes(element.previousSibling.nodeName.toLowerCase())) {
console.log('Ура, заработало');
}
}
}
// дальше вызвать функцию doSomethingEpic(el, names);
gulp.task('default', gulp.parallel('sass', 'browser-sync', 'watch'));
// ! Добавляем необходимые require
gulp.task('sass', function() {
return gulp.src('catalog/view/theme/apple/stylesheet/stylesheet.sass')
// Все то же, что и в вашем примере
.pipe(gulp.dest('catalog/view/theme/apple/stylesheet/')); // Конец задачи
// Релоад перенесем к серверу
});
// watch - следит за изменениями в sass файлах, когда что-то меняется компилирует в css
gulp.task('watch', function() {
gulp.watch('catalog/view/theme/apple/stylesheet/**/*.sass', 'sass');
// Поскольку запускаем единственную задачу, параллельный запуск ничего не принесет.
});
// browser-sync имеет собственный вотчер, чем мы и воспользуемся
// будем следить за изменением самого файла css
gulp.task('browser-sync', function() {
browserSync.init({
proxy: "http://localhost:8888/opencart3/",
notify: false
});
browser-sync.watch(`catalog/view/theme/apple/stylesheet/stylesheet.css'`).on('change', browser-sync.reload);
});
// Сборка
gulp.task('default', gulp.series('sass', gulp.parallel(''browser-sync', 'watch')));
...
И ваш вариант
Почитайте теорию по bind и стрелочным, замыканиям, асинхронности - если считаете, что вам это нужно.