Поиск по этому блогу

пятница, 24 июня 2016 г.

К скринкасту Создаем свой пайп (плагин) Gulp:9

Gulp 9: Создание плагинов при помощи through2, gulp-rev А также: manifest.json

In [ ]:
Еще раз прослушать и записать - что и как работает
In [ ]:
#1:00 Gulp 9: Создание плагинов при помощи through2

А далее полезный пример: собираем все даты модификации файлов в папке и записываем все это в список (файл)

In [ ]:
const mtimes = {};
...
mtimes[file.relative] = file.stat.mtime;
In [ ]:
#4:00 Gulp 9: Создание плагинов при помощи through2
In [ ]:
'use strict';

const gulp = require('gulp');
const through2 = require('through2').obj;
const File = require('vinyl');

gulp.task('assets', function() {

  const mtimes = {};

  return gulp.src('frontend/assets/**/*.*')
      .pipe(through2(
          function(file, enc, callback) {
            mtimes[file.relative] = file.stat.mtime;
            callback(null, file);
          },
          function(callback) {
            let manifest = new File({
              // cwd base path contents
              contents: new Buffer(JSON.stringify(mtimes)),
              base: process.cwd(),
              path: process.cwd() + '/manifest.json'
            });
            this.push(manifest);
            callback();
          }
      ))
      .pipe(gulp.dest('public'));

});
In [ ]:
#5:40  manifest.json Gulp 9: Создание плагинов при помощи through2
In [ ]:
'use strict';

const gulp = require('gulp');
const through2 = require('through2').obj;
const File = require('vinyl');

gulp.task('assets', function() {

  const mtimes = {};

  return gulp.src('frontend/assets/**/*.*')
      .pipe(through2(
          function(file, enc, callback) {
            mtimes[file.relative] = file.stat.mtime;
            callback(null, file);
          }
      ))
      .pipe(gulp.dest('public'))
      .pipe(through2(
          function(file, enc, callback) {
            callback();
          },
          function(callback) {
            let manifest = new File({
              // cwd base path contents
              contents: new Buffer(JSON.stringify(mtimes)),
              base:     process.cwd(),
              path:     process.cwd() + '/manifest.json'
            });
            this.push(manifest);
            callback();
          }
      ))
      .pipe(gulp.dest('.'));

});
In [ ]:
#9:40  gulp-rev Gulp 9: Создание плагинов при помощи through2


Посты чуть ниже также могут вас заинтересовать

Комментариев нет: