如何为gulp插件制作选项?

时间:2016-06-06 01:12:36

标签: jquery gulp phantomjs cheerio gulp-plugin

上下文:

我试图制作一个gulp插件,使用phantomJS和可能的cheerio来抓取网站,抓取源(例如图像和字体文件)并将它们放入文件夹中。该插件基于Stylify-Me

我已经查看了"文档"在gulpjs.com上,但我仍然不明白如何制作基本的gulp选项和console.log它们。

这是插件应该是什么样子:

   .pipe(plugin({
         url: 'http://stylifyme.com/',
         sitemap: true,
         content: all, 
         out: md,
         output: './dist/'
   }))

我现在要问的是如何选择(例如网址:' google.com')和console.log网站网址。

我使用yeoman生成器创建plugin 这是我对插件的代码:

var gutil = require('gulp-util');
var through = require('through2');
var cheerio = require('cheerio'),
var phantom = require('phantom');

var plugin = require('./lib');

module.exports = function (opts) {
    opts = opts || {};

    return through.obj(function (file, enc, cb) {
        if (file.isNull()) {
            cb(null, file);
            return;
        }

        if (file.isStream()) {
            cb(new gutil.PluginError('gulp-stylify', 'Streaming not supported'));
            return;
        }

        try {
            file.contents = new Buffer(someModule(file.contents.toString(), opts));
            this.push(file);
        } catch (err) {
            this.emit('error', new gutil.PluginError('gulp-stylify', err));
        }

        cb();
    });
};

1 个答案:

答案 0 :(得分:0)

注意这个opts = opts || {};。此变量包含调用插件时传递的选项。在该声明之后,您可以访问您的选项:

console.log(opts.url);
console.log(opts.sitemap);
...