jonkemp / gulp-useref

Parse build blocks in HTML files to replace references to non-optimized scripts or stylesheets.
MIT License
705 stars 90 forks source link

Jade layout option? #204

Open 3ilguun opened 8 years ago

3ilguun commented 8 years ago

When using jade useref reads all the compiled .html files instead of only reading the layout template. And because of that compile time takes too long (~30min).

I've ended up writing tons of tasks solving this problem.

...
gulp.task('copy:jade', () => {
  return gulp.src('app/views/layouts/*.jade')
    .pipe(gulp.dest('app/views/tmp'));
});
gulp.task('clean:jade', () => {
  return gulp.src(['dist/*jade', 'app/views/tmp'], {read: false})
    .pipe($.clean());
});
gulp.task('useref', ['sass', 'copy:jade'], () => {
  return gulp.src('app/views/layouts/*.jade')
    .pipe($.useref({searchPath: ['.tmp', 'app']}))
    .pipe(gulp.dest('dist'));
});
gulp.task('move:jade', ['useref'], () => {
  return gulp.src('app/views/tmp/*.jade')
    .pipe(gulp.dest('app/views/layouts'));
});
gulp.task('jade:move', () => {
  return gulp.src('dist/*.jade')
    .pipe(gulp.dest('app/views/layouts'));
});
...

What i'm doing here is:

  1. Compiling layout to dist
  2. Replace the original layout with compiled layout
  3. Run jade build with compiled layout
  4. Replace the original layout with backup layout

With this build time reduced from 30min to 10sec.

So is there any better way or simplify theyse tasks?

jonkemp commented 8 years ago

Could be an issue with gulp-useref internally but not one that is currently known or easily fixed.