2016-12-19 2 views
1

Мы используем gulp plugins https://www.npmjs.com/package/gulp-iconfont и https://www.npmjs.com/package/gulp-iconfont-css для создания значков и css соответственно. Шрифты кэшируются в Chrome, поэтому я хочу добавить номер версии в конец строки источника шрифта в styles.css.файл src versioning в gulp сгенерированный файл

Вот часть генерируемой CSS Я хочу, чтобы преобразовать

@font-face { 
    font-family: "some-icons"; 
    url('/assets/fonts/some-icons.woff2') format('woff2'); 
    } 

Нужный выход

@font-face { 
     font-family: "some-icons"; 
     url('/assets/fonts/some-icons.woff2?v=someVersion') format('woff2'); 
     } 

где someVersion отметка времени или какой-либо другой случайной строкой, которая будет отличать файл его предыдущей версии.

Я ищу плагин gulp, который проанализирует css и добавит «соль» в конце строки src.

Другие решения приветствуются

ответ

1

Я нашел решение Усиливая этот плагин https://www.npmjs.com/package/gulp-modify-file. Вот основная задача gulp: она ищет некоторые-icons.woff2 в содержимом файла и заменяет его некоторыми значками.woff2? V = timestamp

'use strict'; 

const gulp = require('gulp'); 
const modify = require('gulp-modify-file'); 

const timestamp = Math.round(Date.now()/1000); 

gulp.task('modify',()=> { 
    return gulp.src('tmp/styles.css') 
    .pipe(modify(
     (content, path, file)=> { 
     content = content.replace('some-icons.woff2', 'some-icons.woff2?v=' + timestamp); 

     return `${content}` 
     } 
    )) 
    .pipe(gulp.dest('dist')) 
}); 
Смежные вопросы