Как сделать параметры для плагина 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);
...