搜索
node.js - 如何在through2中调用别人的插件?
黄舟
黄舟 2017-04-17 16:15:48
[Node.js讨论组]

背景
首次写gulp插件,我想写一个gulp插件,根据官方文档,建议使用through2处理Stream流。实现的功能是,将src为svg的文件,先变成png,然后再变成base64,渲染到一个css文件模板。

遇到的问题
不知道如何在through2中调用别人的插件

//index.js
var through       = require('through2');
var svg2png       = require('gulp-svg2png');

function dealWithSVG() {
        if (file.isNull()) {
            return cb(null, file);
        }

        if (file.isStream()) {
            this.emit('error', new GulpError(PLUGIN_NAME, 'Streaming not supported'));
            return cb();
        }

        /* I want to use svg2png() *here* */

        // Other Function
        // ...

        this.push(file);
        cb(null)
    });
}

module.exports = dealWithSVG;
// gulpfile.js
var gulp       = require('gulp');
var dealWithSVG = require('./index');
var svg2png = require('gulp-svg2png')

gulp.task('default', function () {
    return gulp.src('static/*.svg')
        .pipe(dealWithSVG())
        .pipe(gulp.dest('assets'));
});

我的尝试

  1. 如果我直接在*here*处这样写file.pipe(svg2png())会得到另外一个Stream,所以还是回到问题上来,如何处理through中新建的流?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号