gulp-nunjucks-render 编译需要很多时间

gulp-nunjucks-render is taking a lot of time to compile

我正在使用 gulp-nunjucks-render 作为 HTML 模板。

问题是,编译时间超过 3-4 分钟。虽然我只有七个nunjucks模板

'use strict';

var gulp = require('gulp'),
    autoprefixer = require('gulp-autoprefixer'),
    sass = require('gulp-sass'),
    minifyCSS = require('gulp-minify-css'),
    uglify = require('gulp-uglify'),
    concat = require('gulp-concat'),
    connect = require('gulp-connect'),
    sourcemaps = require('gulp-sourcemaps'),
    nunjucksRender = require('gulp-nunjucks-render'),
    browserSync = require('browser-sync');

gulp.task('html', function(){
  gulp.src('build/*.html')
    .pipe(browserSync.reload({stream: true}))
});

gulp.task('nunjucksRender', function(){
  gulp.src('sources/html/**/*.+(html|nunjucks)')
  .pipe(nunjucksRender({
      path: ['sources/html/']
  }))
  .pipe(gulp.dest('build/'))
  .pipe(browserSync.reload({stream: true}))
});

gulp.task('css', function(){
  gulp.src('sources/scss/main.scss')
    .pipe(sourcemaps.init())
    .pipe(sass({outputStyle: 'expanded'})
      .on('error', sass.logError)
    )
    .pipe(autoprefixer({
      browsers: ['last 50 versions']
    }))
    // .pipe(minifyCSS())
    .pipe(sourcemaps.write(''))
    .pipe(gulp.dest('build/css'))
    .pipe(browserSync.reload({stream: true}))
});

gulp.task('js', function() {
  gulp.src('sources/**/*.js',)
    // concat pulls all our files together before minifying them
    .pipe( concat('main.min.js') )
    // .pipe(uglify())
    .pipe(gulp.dest('build/js'))
    .pipe(browserSync.reload({stream: true}))
});

gulp.task('watch', function(){
  gulp.watch('build/*.html', ['html', 'nunjucksRender']);
  gulp.watch('sources/**/*.nunjucks', ['nunjucksRender']);
  gulp.watch('sources/scss/**/*.scss', ['css']);
  gulp.watch('sources/js/**/*.js', ['js']);
});

gulp.task('browserSync', function(){
  browserSync({
    server: {
      baseDir: 'build'
    }
  });
});

gulp.task('default', ['css', 'html']);

gulp.task('start', ['browserSync', 'watch']);

这是编译完成后的样子

是否有任何 gulp 插件来减少编译时间或只编译那些被更改的文件?

here 是 github 存储库,以防您需要查看完整的文件结构。

啊..我正在观察 .html.nunjucks 文件的变化.. 所以当 .nunjucks 文件编译并创建 .html 文件然后再次 .html 相关任务运行。