Gulp 插件开发
2019年4月6日 06:50
编程技术
基本模板
'use strict';
var Transform = require('readable-stream/transform');
module.exports = function (options) {
    return new Transform({
        objectMode: true,
        transform: function (file, enc, callback) {
            // TODO
            callback(null, file)
        }
    });
};
file 说明
file.path 完整路径
file.contents 内容 Buffer 或 Stream
file.basename 文件名 file.txt
file.extname 文件拓展名 .txt
file.isNull() 是否为空
file.isBuffer() 是否为Buffer 可以使用 String(file.contents) 转化为字符串, file.contents = Buffer.from(''); 可以修改内容
file.isStream() 是否为Stream
更多请参考 【vinylv】
callback 使用
正常返回
callback(null, file);
返回报错(会中断后续所有文件任务)
callback({stack: 'error file'}, file)
中断本次任务,继续操作其他文件
callback()
使用插件
var gulp = require('gulp');
var my = require('./my.js');
gulp.task('default', async() => {
    await gulp.src('src/**/*')
        .pipe(my())
        .pipe(gulp.dest('dist/'));
});