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
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий