国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

node.js - gulp中gulp-rev-collector不起作用

瀏覽:91日期:2024-08-03 08:36:22

問題描述

gulp使用gulp-rev為文件添加時間戳,但是使用gulp-rev-collector替換時失敗,是不是gulpfile中配置錯誤呢?代碼如下:

var gulp = require(’gulp’);var sass = require(’gulp-sass’);//編譯sassvar cssMin = require(’gulp-minify-css’);//壓縮cssvar imageMin = require(’gulp-imagemin’);//壓縮圖片var rev = require(’gulp-rev’);//MD5var htmlmin = require(’gulp-htmlmin’);//壓縮htmlvar revCollector = require(’gulp-rev-collector’);//替換時間戳gulp.task(’sass’,function(){ gulp.src(’./SASS/*.scss’).pipe(sass()).pipe(cssMin()).pipe(rev()).pipe(gulp.dest(’dist/stylesheet’)).pipe( rev.manifest() ).pipe( gulp.dest( ’rev/stylesheet’ ) );});gulp.task(’imagemin’, function () { gulp.src(’./images/*.{png,jpg,gif,ico}’).pipe(imageMin({ optimizationLevel: 5, progressive: true, interlaced: true, multipass: true })).pipe(rev()).pipe(gulp.dest(’dist/images’)).pipe(rev.manifest()).pipe(gulp.dest(’./rev/images’));});gulp.task(’revCollector’, function () { gulp.src([’rev/**/*.json’, ’./*.html’]).pipe( revCollector()).pipe(htmlmin()).pipe( gulp.dest(’dist/’));});gulp.task(’revCollectorCss’, function () { gulp.src([’rev/**/*.json’, ’./dist/stylesheet/*.css’]).pipe(revCollector()).pipe(gulp.dest(’./dist/stylesheet’));});gulp.task(’auto’, function () { gulp.watch(’./SASS/*.scss’, [’sass’])});gulp.task(’default’, [’sass’, ’auto’,’imagemin’,’revCollectorCss’,’revCollector’]);

目錄結構如下:

node.js - gulp中gulp-rev-collector不起作用

希望在當前目錄生成dist:dist中有images和stylesheet文件夾,以及壓縮過的index.html運行gulp后,MD5添加沒有問題,能生成rev下json,壓縮都沒有問題,但是不進行替換

請各路大神幫我看看gulp哪里寫錯了

問題解答

回答1:

當我仔細看了文檔,我發現我的代碼是有問題的,現在已解決。主要參考了這里http://www.ydcss.com/archives...主要問題是在于每個task的依賴,很有可能是任務執行的時候還找不到manifest的json文件,現在添加依賴后,替換ok,需要提示的一點,因為調用依賴,所以最好是取return的返回值,這樣寫比較好用

var gulp = require(’gulp’);var sass = require(’gulp-sass’);//編譯sassvar cssMin = require(’gulp-minify-css’);//壓縮cssvar imageMin = require(’gulp-imagemin’);//壓縮圖片var rev = require(’gulp-rev’);//MD5var htmlmin = require(’gulp-htmlmin’);//壓縮htmlvar revCollector = require(’gulp-rev-collector’);//替換時間戳gulp.task(’sass’,function(){ return gulp.src(’./SASS/*.scss’).pipe(sass()).pipe(cssMin()).pipe(rev()).pipe(gulp.dest(’dist/stylesheet’)).pipe( rev.manifest() ).pipe( gulp.dest( ’rev/stylesheet’ ) );});gulp.task(’imagemin’, function () { return gulp.src(’./images/*.{png,jpg,gif,ico}’).pipe(imageMin({ optimizationLevel: 5, //類型:Number 默認:3 取值范圍:0-7(優化等級) progressive: true, //類型:Boolean 默認:false 無損壓縮jpg圖片 interlaced: true, //類型:Boolean 默認:false 隔行掃描gif進行渲染 multipass: true //類型:Boolean 默認:false 多次優化svg直到完全優化})).pipe(rev()).pipe(gulp.dest(’dist/images’)).pipe(rev.manifest()) //- 生成一個rev-manifest.json.pipe(gulp.dest(’./rev/images’));});gulp.task(’revCollector’,[’revCollectorCss’], function () { var options = {removeComments: true, //清除HTML注釋collapseWhitespace: true, //壓縮HTMLcollapseBooleanAttributes: true, //省略布爾屬性的值 <input checked='true'/> ==> <input checked />removeEmptyAttributes: true, //刪除所有空格作屬性值 <input id='' /> ==> <input />removeScriptTypeAttributes: true, //刪除<script>的type='text/javascript'removeStyleLinkTypeAttributes: true, //刪除<style>和<link>的type='text/css'minifyJS: true, //壓縮頁面JSminifyCSS: true //壓縮頁面CSS }; return gulp.src([’rev/**/*.json’, ’./*.html’]) .pipe( revCollector()) .pipe(htmlmin(options)) .pipe( gulp.dest(’dist/’));});gulp.task(’revCollectorCss’,[’sass’,’imagemin’], function () { return gulp.src([’rev/**/*.json’, ’./dist/stylesheet/*.css’]).pipe(revCollector()).pipe(gulp.dest(’dist/stylesheet’));});gulp.task(’auto’, function () { gulp.watch(’./SASS/*.scss’, [’sass’]);});gulp.task(’default’, [ ’auto’,’revCollector’]);

相關文章:
主站蜘蛛池模板: 中山市| 亳州市| 上林县| 鸡泽县| 五台县| 安化县| 恭城| 米脂县| 桦甸市| 焉耆| 穆棱市| 崇明县| 中山市| 徐水县| 米易县| 乳源| 万全县| 贡山| 怀柔区| 江永县| 黄梅县| 永州市| 宜城市| 延庆县| 成都市| 肥西县| 阜平县| 区。| 灵川县| 吉木萨尔县| 望都县| 若尔盖县| 海城市| 小金县| 伊通| 千阳县| 凤凰县| 隆昌县| 曲水县| 苍梧县| 定州市|