error: gulp.start is not a function while using gulp version 4

狂风中的少年 提交于 2021-02-08 05:18:57

问题


Iam using gulp CLI version: 2.2.1 Local version: 4.0.2 The node version is 12.16.3 MY code of gulpfile.js is

 'use strict';
var gulp = require('gulp'),
sass = require('gulp-sass'),
browserSync = require('browser-sync'),
del=require('del'),
imagemin = require('gulp-imagemin'),
uglify = require('gulp-uglify'),
usemin = require('gulp-usemin'),
rev = require('gulp-rev'),
cleanCss = require('gulp-clean-css'),
flatmap = require('gulp-flatmap'),
htmlmin = require('gulp-htmlmin');

gulp.task('sass', function () {
    return gulp.src('./css/*.scss')
    .pipe(sass().on('error', sass.logError))
   .pipe(gulp.dest('./css'));
});

gulp.task('sass:watch', function () {
    gulp.watch('./css/*.scss', ['sass']);
});

gulp.task('browser-sync', function () {
 var files = [
  './*.html',
  './css/*.css',
  './img/*.{png,jpg,gif}',
  './js/*.js'
];

 browserSync.init(files, {
  server: {
     baseDir: "./"
  }
 });

});

 // Default task
gulp.task('default', gulp.series('browser-sync', function() {
  gulp.start('sass:watch');
}));
 gulp.task('clean', function() {
   return del(['dist']);
});

 gulp.task('copyfonts', function() {
   gulp.src('./node_modules/font-awesome/fonts/**/*.{ttf,woff,eof,svg}*')
  .pipe(gulp.dest('./dist/fonts'));
 });
 gulp.task('imagemin', function() {
  return gulp.src('img/*.{png,jpg,gif}')
  .pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
  .pipe(gulp.dest('dist/img'));
 });
  gulp.task('usemin', function() {
    return gulp.src('./*.html')
   .pipe(flatmap(function(stream, file){
    return stream
     .pipe(usemin({
          css: [ rev() ],
          html: [ function() { return htmlmin({ collapseWhitespace: true })} ],
          js: [ uglify(), rev() ],
          inlinejs: [ uglify() ],
          inlinecss: [ cleanCss(), 'concat' ]
      }))
   }))
  .pipe(gulp.dest('dist/'));
 });

 gulp.task('build',gulp.series('clean', function() {
    gulp.start('copyfonts','imagemin','usemin');
 }));

The error I got is after running gulp build on the command line is:

  [15:38:33] Starting 'build'...
  [15:38:33] Starting 'clean'...
  [15:38:33] Finished 'clean' after 69 ms
  [15:38:33] Starting '<anonymous>'...
  [15:38:33] '<anonymous>' errored after 3.57 ms
   [15:38:33] TypeError: gulp.start is not a function
  at C:\Users\HARIKA\Desktop\bootstrapassign1\Bootstrap4\conFusion\gulpfile.js
:74:10
[15:38:33] 'build' errored after 83 m

I dont know how to solve the erros. I even changed some of tasks to gulp.series() as per version of gulp version 4. Can anyone help me to resolve the error? Thank you in advance.


回答1:


Replace these two tasks:

 // Default task
gulp.task('default', gulp.series('browser-sync', function() {
  gulp.start('sass:watch');
}));

 gulp.task('build',gulp.series('clean', function() {
    gulp.start('copyfonts','imagemin','usemin');
 }));

with:

 // Default task
gulp.task('default', gulp.series('browser-sync', 'sass:watch'));


gulp.task('build',gulp.series('clean', 'copyfonts','imagemin','usemin'));

gulp.start is not a part of gulp4+ - it was in v3 although not really sanctioned for use even there.



来源:https://stackoverflow.com/questions/62170916/error-gulp-start-is-not-a-function-while-using-gulp-version-4

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!