上下文:
我试图制作一个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();
});
};
答案 0 :(得分:0)
注意这个opts = opts || {};
。此变量包含调用插件时传递的选项。在该声明之后,您可以访问您的选项:
console.log(opts.url);
console.log(opts.sitemap);
...