Ответы пользователя по тегу Gulp.js
  • Не работает gulp таск?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Перепешите Ваш serve в соответствии с 4 версией:

    gulp.task('serve', function(){
      browserSync.init({
         server: './src',
         notify: false,
         host: '185.27.134.11'
    });
      gulp.watch('src/sass/**/*.sass', gulp.series('sass'));
      gulp.watch('src/*.html', gulp.series('название таска, который обрабатывает html'));
    })


    parallel task-и в потоке выполняются вместе.
    series тут сперва выполнится первый task, потом второй и т.д.

    Так же, для практики, попробуйте написать сами дефолтный таск.
    Ответ написан
    Комментировать
  • Почему gulp-pug не обновляется?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Предлагаю сделать так:
    var browserSync  = require('browser-sync').create()
    var bsConfig = {
    		server: {
    			baseDir: 'app'
    		},
    		notify: false,
    		open: false
    	}; 
    
    gulp.task('watch', function(){
    	browserSync.init(bsConfig);
    	gulp.watch("app/pug/*.pug", gulp.parallel("pug"));
    })

    Watcher предлагаю использовать таким способом)
    Ответ написан
    Комментировать
  • Почему Не работает gulp-autoprefixer?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Опечатка на 37 строке. Gulp и никто еще не знает такую комманду)
    browsers
    Ответ написан
    Комментировать
  • Почему выводится ошибка при выполнение нескольких тасков в одном?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Вы используете 3 версию Gulp.
    Чтобы решить Вашу проблему, нужно:
    • Либо удалить Gulp 4 и установить прошлую версию Gulp 3.9.1
    • Либо остаться на прежней версии и привыкнуть к новому синтаксису.


    Если Вы хотите сделать шаг по первому варианту, Вам придется ввести такую комманду в консоль:
    npm uninstall -g gulp && npm i -g gulp@3.9.1 и код Ваш заработает.
    Иначе оставьте свой Gulp 4 и перейдите по этой ссылке и прочитайте инструкцию.

    Вот Вам код для Вас Gulp 4:
    gulp.task('watch', function(){
    	browserSync.init({
          сюда конфиг вашего сервера
    });
    	gulp.watch("Путь к файлам Html", gulp.series('html'));  // <--- В кавычках название таска
    	gulp.watch("Путь к файлам CSS", gulp.series('prefix'));
    })


    Oбъясню на счет parallel и series. То есть в первом случае Ваши task-и в потоке выполняются вместе. А в другом случае, сперва выполнится первый task, потом второй, третий и до конца.
    Ответ написан
    Комментировать
  • Почему перестал запускаться browsersync после того как добавил gulp-less?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Можете таск server засунуть, наоборот, в watcher:
    Для простоты, создайте переменную с настройками сервера:
    var config = {
    server: {
            baseDir: "src/"
        }
    }

    Watcher будет выглядеть так:
    gulp.task('watch', function(){
      browserSync.init(config);
      gulp.watch("src/less/*.less", gulp.series("less")); 
    --> x
    })


    Где Я поставил крестик, можно пихать еще файлы для просмотра вместе с методом gulp.series или gulp.parallel. Их разница в порядке выполнения тасков. Я рекомендую использовать gulp.series для подобных тасков.
    Ответ написан
    Комментировать
  • Таск для обновления .html/.js на Gulp 4?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Для вашей сборки пойдет такой watcher:

    gulp.task('watch', function(){
    	gulp.watch('файлы html', gulp.series('html'));
    	gulp.watch('файлы css', gulp.series('css'));
    	gulp.watch('файлы js', gulp.series('js'));
    	gulp.watch('файлы img', gulp.series('img'));
    })

    Вместо 'файлы [html, css, js&img]' пишите путь до файлов.
    А builder примерно такой:

    gulp.task('build', 
    	gulp.series(
    		сюда можно таск очитки dist папки засунуть, т.е. его название, типа 'clean',
    		gulp.parallel(
    			'html',
    			'styles',
    			'js',
    			'img'
    )));


    Если же таск для очистки не нужен, то можете удалить строку с gulp.series, при этом не забыть удалить все скобки, связанные с этим методом.
    Ответ написан
    Комментировать
  • Ошибка Gulp, что делать?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Прочитайте короткое объяснение ответа ниже, если нужен синтаксис gulp 4

    gulp.task('watch', function(){
      gulp.watch("src/*.html", gulp.series("html"));
      gulp.watch("src/js/*.js", gulp.series("scripts"));
      gulp.watch("src/sass/*.sass", gulp.series("sass"));
      gulp.watch("src/images/*.+(jpg|jpeg|png|gif)", gulp.series("imgs"));
    })


    Oбъясню на счет parallel и series. То есть в первом случае Ваши task-и в потоке выполняются вместе. А в другом случае, сперва выполнится первый task, потом второй, третий и до конца.
    Ответ написан
    Комментировать
  • Не работает Gulp + sass, что за ошибка?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    Gulp 4 версии у Вас. А task watch использует синтаксис 3 версии.
    Замените ваш watcher на такой:
    gulp.task('watch', function(){
    	browserSync.init({
    Сюда Ваш конфиг сервера
    });
    	gulp.watch(путь до стилей, gulp.series('style'));
    })
    Ответ написан
    Комментировать
  • Почему возникает ошибка в gulp 4 The following tasks did not complete?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    gulp.task('removedist', function (done) {
        del.sync('dist');
        done();
    });

    Нужно знать, что фунция завершилась. Если не помогло, то напишите, что вышло после моего кода.
    Если получили 4 версию gulp, то task для вашей сборки должен выглядеть так:

    gulp.task('build', 
    	gulp.series(
    		'removedist',
    		gulp.parallel(
    			'imagemin', 
            'styles', 
            'scripts'
    )));


    Отметье, если помогло. Если появятся вопросы, отпишитесь. Если появится проблема, так же. Вы должны скопировать этот код и, может быть, доработать его под Вашу сборку.
    Ответ написан
    1 комментарий
  • Как поправить синтаксис кода gulp3 под gulp 4?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    gulp.task('watch', function(){
    	browserSync.init(config);
    	gulp.watch(path.watch.html, gulp.series('html:build'));
    	gulp.watch(path.watch.scss, gulp.series('scss:build'));
    	gulp.watch(path.watch.css, gulp.series('css:build'));
    	gulp.watch(path.watch.js, gulp.series('js:build'));
    	gulp.watch(path.watch.images, gulp.series('images:build'));
      gulp.watch(path.watch.fonts, gulp.series('fonts:build'));
    })

    Если вы не смотрели выпуск, в ссылке на ответ выше, то объясню на счет parallel и series. То есть в первом случае Вашиtask-и в потоке выполняются вместе. А в другом случае, сперва выполнится первый task, потом второй, третий и до конца.
    В build можно сделать так:

    gulp.task('build', 
    	gulp.series(
    		'clean:build',
    		gulp.parallel(
    			'html:build',
    			'css:build',
    			'js:build',
    			'images:build',
    			'fonts:build'
    )));


    Здесь сперва чистится папка dist, а потом собирается продакшн.
    Попробуйте использовать и отпишитесь и отметьте, если поняли суть)
    Ответ написан
    Комментировать