kwoktung / gulp-tpl-rev

template asset url revisioning by appending content hash to filenames: `unicorn.css` → `unicorn.css?_v=1`

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gulp-tpl-rev Build Status

Static asset revisioning by appending content hash to filenames ``unicorn.cssunicorn.css?_v=995025`

Install

$ npm install --save-dev gulp-tpl-rev

Usage

const gulp = require('gulp');
const tpl = require('gulp-tpl-rev');
const crypto = require('crypto');
const path = require('path');
const fs= require('fs')

exports.default = () => (
	gulp.src('src/*.html')
		.pipe(tpl( function(pathname) {
				const { ext } = path.parse(pathname)
				const fullpath = path.join(__dirname, 'wwwroot', pathname)
				if (fs.existsSync(fullpath)) {
					const file = fs.readFileSync(fullpath, 'utf8')
					const md5 = crypto.createHash('md5');
					md5.update(file);
					return md5.digest('hex').slice(0, 6)
				}
				return ""
			}
		))
		.pipe(gulp.dest('dist'))
);

About

template asset url revisioning by appending content hash to filenames: `unicorn.css` → `unicorn.css?_v=1`


Languages

Language:TypeScript 70.9%Language:HTML 29.1%