Gulp 插件开发

Fork Me On Github

基本模板

js
              
'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)
        }
    });
};
1234567891011121314

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 使用

正常返回

js
  
callback(null, file);
12

返回报错(会中断后续所有文件任务)

js
  
callback({stack: 'error file'}, file)
12

中断本次任务,继续操作其他文件

js
 
callback()
1

使用插件

js
        
var gulp = require('gulp');
var my = require('./my.js');

gulp.task('default', async() => {
    await gulp.src('src/**/*')
        .pipe(my())
        .pipe(gulp.dest('dist/'));
});
12345678
点击查看全文
0 258 0