UNPKG

gulp-rev-easy

Version:

easy add hash to asset path uc.js to uc.js?v=afb23 or simple add date uc.js to uc.js?v=201503031214

48 lines (38 loc) 1.46 kB
/** * Created by timtian on 2016/8/26. */ var cheerio = require('cheerio'); var gutil = require('gulp-util'); var revver = require('../revver'); var parser = {}; parser.parse = function(text, filepath, options) { try { var $ = cheerio.load(text, { decodeEntities: false }); for (var i = 0; i < options.fileTypes.length; i++) { var fileType = options.fileTypes[i]; var attributes = options.elementAttributes[fileType]; var $assets = $(attributes.name); for (var j = 0; j < $assets.length; j++) { var $asset = $assets.eq(j); var src = $asset.attr(attributes.src); if (src && !src.match(/.*(\/\/).*/)) { var revv = revver.rev(src, filepath, options); if (revv !== '') { var newsrc = options.transformPath(src, revv); $asset.attr(attributes.src, newsrc); gutil.log(src + ' --> ', gutil.colors.green(newsrc)); } else { gutil.log(gutil.colors.blue('ignore:rev is empty'), src); } } } } return $.html(); } catch (err) { gutil.log(gutil.colors.red(err.message)); gutil.log(gutil.colors.red(err.stack)); } }; module.exports = parser;