使用 lastmod 作为 gulp-sitemap 和 cheerio 中的函数
Using lastmod as a function within gulp-sitemap with cheerio
我正在尝试将 lastmod 函数与 cheerio(或 gulp-cheerio)结合使用,从流中每个文件的元标记中提取一个值以填充此 lastmod 条目。
var gulp = require('gulp');
var cheerio = require('cheerio');
var sitemap = require('gulp-sitemap');
gulp.task('sitemap', function() {
return gulp.src(['/prod/**/*.html',])
.pipe(sitemap({
siteUrl: 'https://www.somewhere.com',
lastmod: function(file) {
var $ = cheerio.load(body);
var lastmodValue = $('head > meta[name="dc.date"]').attr('content');
return lastmodValue.toString().trim();
}
}))
.pipe(gulp.dest('/prod'));
});
如果我在 return 之前对 var 进行硬编码并注释掉 cheerio 语句,这会很好地工作。 Gulp-sitemap lastmod 说明在这里:https://github.com/pgilad/gulp-sitemap#lastmod
找到我的问题 - 这是有效的代码:
.pipe(sitemap({
siteUrl: 'https://www.somewhere.com',
lastmod: function(file) {
var $ = cheerio.load(file.contents);
var lastmodValue = $('head > meta[name="dc.date"]').attr('content');
return lastmodValue.toString().trim();
}
}))
我正在尝试将 lastmod 函数与 cheerio(或 gulp-cheerio)结合使用,从流中每个文件的元标记中提取一个值以填充此 lastmod 条目。
var gulp = require('gulp');
var cheerio = require('cheerio');
var sitemap = require('gulp-sitemap');
gulp.task('sitemap', function() {
return gulp.src(['/prod/**/*.html',])
.pipe(sitemap({
siteUrl: 'https://www.somewhere.com',
lastmod: function(file) {
var $ = cheerio.load(body);
var lastmodValue = $('head > meta[name="dc.date"]').attr('content');
return lastmodValue.toString().trim();
}
}))
.pipe(gulp.dest('/prod'));
});
如果我在 return 之前对 var 进行硬编码并注释掉 cheerio 语句,这会很好地工作。 Gulp-sitemap lastmod 说明在这里:https://github.com/pgilad/gulp-sitemap#lastmod
找到我的问题 - 这是有效的代码:
.pipe(sitemap({
siteUrl: 'https://www.somewhere.com',
lastmod: function(file) {
var $ = cheerio.load(file.contents);
var lastmodValue = $('head > meta[name="dc.date"]').attr('content');
return lastmodValue.toString().trim();
}
}))