Я настраиваю конвейер сборки на основе Gulp.
Я столкнулся с двумя проблемами с Gulp serve: несмотря на то, что он вызывается из задачи по умолчанию, он просто не запускается.
Когда я запускаю его напрямую, набирая «gulp serve» из командной строки, возвращается ошибка:
gulpInst.start.apply(gulpInst, toRun);
^
TypeError: Cannot read property 'apply' of undefined
at /home/bob/.npm-packages/lib/node_modules/gulp/bin/gulp.js:129:20
at processTicksAndRejections (internal/process/task_queues.js:79:11)
Что здесь может происходить?
Моя полная конфигурация выглядит следующим образом:
gulp.task('watch', function () {
gulp.watch('./src/sass/**.scss', gulp.series('sass') );
gulp.watch('./src/js/**.js', gulp.series('scripts'));
});
gulp.task( 'sass', function() {
return gulp.src('./src/sass/**.scss')
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./css'))
.pipe(browserSync.stream()) ;
}) ;
gulp.task('scripts', function() {
return gulp.src(['./src/js/main.js' ])
.pipe(concat('main.js'))
.pipe(gulp.dest('./js'))
.pipe(uglify())
.pipe(rename('main.js'))
.pipe(gulp.dest('./js')) ;
});
gulp.task('serve', function() {
browserSync({
proxy : 'http://website.localdev',
open: false
});
gulp.watch("./js/**").on('change', browserSync.reload);
});
gulp.task('default', gulp.series('sass', 'scripts', 'watch', 'serve') ) ;