Как сделать параметры для плагина gulp?

Контекст:

Я пытаюсь создать плагин gulp, который использует phantomJS и, возможно, cheerio, чтобы сканировать веб-сайт, захватывать источники (например, изображения и файлы шрифтов) и помещать их в папку. Плагин основан на Stylify-Me.

Я просмотрел "документацию" на gulpjs.com, но до сих пор не понимаю, как сделать основные параметры gulp и console.log их.

Вот как должен выглядеть плагин:

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

Все, что я сейчас спрашиваю, это как выбрать вариант (например, url: "google.com") и console.log URL сайта.

Я использую генератор Yeoman для создания плагина, и вот код, который у меня есть для плагина:

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 ответ

Обратите внимание на это opts = opts || {};, Эта переменная содержит ваши параметры, которые были переданы, когда вы вызывали свой плагин. После этого заявления вы можете получить доступ к вашим опциям:

console.log(opts.url);
console.log(opts.sitemap);
...
Другие вопросы по тегам