慢哈巴狗编译成HTML

问题描述 投票:1回答:2

我用一口编译我的哈巴狗文件HTML。这需要每次我做出什么样的变化在30秒的平均!它是可能由于我一口东西配置(见下表)?

var gulp   = require('gulp')
var pug = require('gulp-pug')

gulp.task('pug', function () {
  return gulp.src('pug/**/*.pug')
    .pipe(pug({pretty:true, doctype:'HTML'}))
    .pipe(gulp.dest('views'))
})

gulp.task('watch:pug', ['pug'], function () {
  gulp.watch('pug/**/*.pug', ['pug'])
})
javascript gulp pug
2个回答
4
投票

如果是,会降低你的pug编译,添加缓存。

var gulp     = require('gulp');
var pug      = require('gulp-pug');
var cached   = require('gulp-cached');
var remember = require('gulp-remember');

gulp.task('pug', function () {
  return gulp.src('pug/**/*.pug', { since: gulp.lastRun('pug') }))
    .pipe(cached('pug'))
    .pipe(pug({pretty:true, doctype:'HTML'}))
    .pipe(remember('pug'))
    .pipe(gulp.dest('views'))
})

gulp.task('watch', function(done) {
  gulp.watch('pug/**/*.pug', gulp.parallel('pug'));
  return done();
});

gulp.task('default', gulp.series('pug', 'watch'));

选项gulp.lastRun只会返回,因为给定任务的上次运行已更改的文件。如果使用default任务来构建你的文件,pug将只需要处理已更改的文件。由于吞气过程由监控功能更让,它能够缓存所有以前未更改的文件。

备注:如果您使用咕嘟咕嘟V4,如果没有,你应该升级这只会工作;)

解咕嘟咕嘟<4.0

有一个包叫做gulp-cache,这{ since: gulp.lastRun('pug') }。所以,你应该能够调整片段:

var gulp     = require('gulp');
var pug      = require('gulp-pug');
var cache    = require('gulp-cache');
var cached   = require('gulp-cached');
var remember = require('gulp-remember');

gulp.task('pug', function () {
  return gulp.src('pug/**/*.pug'))
    .pipe(cache('pug'))
    .pipe(cached('pug'))
    .pipe(pug({pretty:true, doctype:'HTML'}))
    .pipe(remember('pug'))
    .pipe(gulp.dest('views'))
})

gulp.task('watch', function(done) {
  gulp.watch('pug/**/*.pug', ['pug']);
  return done();
});

gulp.task('default', ['pug', 'watch']);

我不知道你是否真的需要gulp-cachedgulp-remember。这些包输入文件链接到转换后的输出文件。这意味着gulp-remember将输出已处理的所有文件。如果没有更新的文件,它将输出缓存版本。如果你并不需要所有的文件(例如,因为你没有连接起来将),你可以删除这些行。

即使包名非常相似,它们是完全不同的:

该软件包gulp-cache将只转发文件自上次构建变化。它在本质上不相同,则该选项{ sine: gulp.lastRun('pug') }

所以,如果你需要处理的文件在您的管道里,你需要的所有3包,否则,包gulp-cache(不含d)应该足够了。


0
投票

我用这个。

只有通过修改过的文件

没有更多的浪费在处理未更改的文件的宝贵时间。

https://www.npmjs.com/package/gulp-changed

© www.soinside.com 2019 - 2024. All rights reserved.