Javascript 重构到gulp4

Javascript 重构到gulp4,javascript,gulp,Javascript,Gulp,我知道有很多关于这个的帖子,但我找不到解决办法 这是我的gulpfile,我试图重构,但没有成功,所以尝试在这里得到一些答案。尝试了我找到的关于Gulp 3->Gulp 4的所有东西,但没有任何效果。也许有人有类似的设置需要转换 这是很久以前,因为我碰了这个代码,我觉得有点失去了与吞咽现在 return gulp.src('app/src/files/**/*.pdf') .pipe(gulp.dest(dist + '/files')) }); gulp.icons ({

我知道有很多关于这个的帖子,但我找不到解决办法

这是我的gulpfile,我试图重构,但没有成功,所以尝试在这里得到一些答案。尝试了我找到的关于Gulp 3->Gulp 4的所有东西,但没有任何效果。也许有人有类似的设置需要转换

这是很久以前,因为我碰了这个代码,我觉得有点失去了与吞咽现在

  return gulp.src('app/src/files/**/*.pdf')
    .pipe(gulp.dest(dist + '/files'))
});

gulp.icons ({
    return gulp.src('app/src/icons/**/*.svg')
        .pipe(svgSprite(config))
        .pipe(gulp.dest(dist));
});


gulp.css({
    const processors = [
        atImport,
        cssnext,
        mqpacker,
        clearfix,
        cssnano
    ];
    return gulp.src('app/src/css/*.css')
        .pipe(postcss(processors))
        .pipe(rename('main.min.css'))
        .pipe(gulp.dest(dist));
});

gulp.nunjucks({
    return gulp.src('app/pages/*.njk')
    // Adding data to Nunjucks
        .pipe(data(function () {
            return require('./data.json')
        }))
        .pipe(nunjucksRender({
            path: ['app/pages/', 'app/templates/'] // String or Array
        }))
        .pipe(gulp.dest(dist));
});

gulp.browser-sync({
    browserSync({
        server: {
            baseDir: dist
        }
    });
});

gulp.scripts({
    return gulp.src('app/src/js/**/*.js')
        .pipe(concat('main.js'))
        .pipe(rename('main.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest(dist))
        .pipe(reload({stream: true}));
});

gulp.images({
    return gulp.src('app/src/img/**/*')
        .pipe(imagemin({optimizationLevel: 3, progressive: true, interlaced: true}))
        .pipe(gulp.dest('${dist}/img'))
});

gulp.watch({
    gulp.watch('app/templates/**/*.+(njk)', ['nunjucks', reload]);
    gulp.watch('app/**/*.+(njk)', ['nunjucks', reload]);
    gulp.watch('app/src/**/*.css', ['css', reload]);
    gulp.watch(['app/src/js/**/*.js', 'main.js'], ['scripts', reload]);
    gulp.watch('app/src/img/**/*', ['images', reload]);
    gulp.watch('app/src/icons/**/*', ['icons', reload]);
});

gulp.task('default', gulp.parallel('nunjucks', 'css', 'files', 'scripts', 'icons', 'images', 'watch', 'browser-sync'));
gulp.task('build', gulp.parallel('nunjucks', 'files', 'css', 'scripts', 'icons', 'images'));```
此表格错误:

gulp.icons ({
    return gulp.src('app/src/icons/**/*.svg')
        .pipe(svgSprite(config))
        .pipe(gulp.dest(dist));
});
将所有更改为:

gulp.task('icons', function() {
    return gulp.src('app/src/icons/**/*.svg')
        .pipe(svgSprite(config))
        .pipe(gulp.dest(dist));
});
如果您所有的
watch
语句都是错误的,请将它们全部更改为以下格式:

gulp.watch('app/templates/***.+(njk'),gulp.series('nunjucks',reload))

您没有显示
reload
函数,因此我假设它是一个函数,而不是
gulp.task('reload')
表单

我还要改变这一点:

gulp.task('default',gulp.parallel('nunjucks','css','files','scripts','icons','images','watch','browser sync')

由于上次调用了
browser sync
gulp.series
会更好,以便其他任务在第一次运行时已完成,并且它们的更改将在第一次运行时显示在浏览器中:


gulp.task('default',gulp.series('nunjucks','css','files','scripts','icons','images','watch','browser sync')

谢谢您的帮助!我现在就要建造了。我唯一没有去做的事情就是“watch”任务:
gulp.task('watch',function(){gulp.watch('app/templates/***.+(njk)),gulp.series('nunjuck',reload));gulp.watch('app/src/***.css',gulp series('css',reload));gulp.watch('(['app/src/js/***.js','main.js',gulp.series('scripts',reload');gulp.watch('app/src/img/***',gulp.series('images',reload');gulp.watch('app/src/icons/***',gulp series('icons',reload));};