vachunya
@vachunya
Бог верстки, JS maniac, React bomberman

Не работает Gulp, выдает ошибку?

установил правильно, запускаю код в файл gulpfile.js взятый с оф сайта browsersync, вот такой код:

var gulp        = require('gulp');
var browserSync = require('browser-sync').create();
var sass        = require('gulp-sass');

// Static Server + watching scss/html files
gulp.task('serve', ['sass'], function() {

    browserSync.init({
        server: "src/"
    });

    gulp.watch("scr/sass/*.sass", ['sass']);
    gulp.watch("scr/*.html").on('change', browserSync.reload);
});

// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function() {
    return gulp.src("scr/scss/*.scss")
        .pipe(sass())
        .pipe(gulp.dest("scr/css"))
        .pipe(browserSync.stream());
});

gulp.task('default', ['serve']);

____________________________________________________________
Слышал что в 4 версии gulp другой синтаксис, но не смог его освоить, что нужно поменять чтобы заработало???
в файле package.json следующая инфа:
{
  "name": "project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Artur",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.26.3",
    "gulp": "^4.0.0",
    "gulp-sass": "^4.0.2"
  }
}

____________________________________________________________________
Вот и сама ошибка

PS D:\8. Frontend\project> gulp
assert.js:42
throw new errors.AssertionError({
^

AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (D:\8. Frontend\project\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (D:\8. Frontend\project\node_modules\undertaker\lib\task.js:13:8)
at Object. (D:\8. Frontend\project\gulpfile.js:6:6)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
  • Вопрос задан
  • 17494 просмотра
Решения вопроса 1
potapchino
@potapchino
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var sass = require('gulp-sass');

gulp.task('sass', function(done) {
    gulp.src("scr/scss/*.scss")
        .pipe(sass())
        .pipe(gulp.dest("scr/css"))
        .pipe(browserSync.stream());


    done();
});

gulp.task('serve', function(done) {

    browserSync.init({
        server: "src/"
    });

    gulp.watch("scr/sass/*.sass", gulp.series('sass'));
    gulp.watch("scr/*.html").on('change', () => {
      browserSync.reload();
      done();
    });
  

    done();
});

gulp.task('default', gulp.series('sass', 'serve'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@coderxx
keep calm and learn js
Такие вопросы стали появляться каждый день. В Gulp 4 изменился синтаксис. Появились свойства parallel и series, пропали квадратные скобки. Старые галпфайлы не работают. Все подробно изложено тут.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы