国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

how to implement the version control of static files

2024-04-27 15:17:13
字體:
來源:轉載
供稿:網友

https://github.com/sindresorhus/gulp-rev/blob/master/integration.md 如何通過后端服務(php)做靜態資源的版本化,當然也有直接通過前端構建工具靜態資源版本化, 下面是angular項目,使用gulp直接實現靜態資源版本化。

/*** build 時的 js 壓縮, 文件 hash 地址替換*/var gulp = require('gulp');var config = require('../config').inject;var handleErrors = require('../util/handleErrors');/*** 根據文件內容生成Hash名稱,映射表寫入 dest/rev-manifest.json 文件中。*/gulp.task("revision", function() { var gulpif = require('gulp-if'); var rev = require('gulp-rev'); var uglify = require('gulp-uglify'); return gulp.src([config.src + "/**/*.CSS", config.src + "/**/*.js"]) .pipe(rev()) .pipe(gulpif(/.*?vendor[-/d/w]*/.js$/, uglify())) .pipe(gulp.dest(config.dest)) .pipe(rev.manifest()) .on('error', handleErrors) .pipe(gulp.dest(config.dest));});/*** 根據 revision 任務生成的映射表,html中引用的資源文件名稱進行替換*/gulp.task("inject", ["revision"], function(){ var manifest = gulp.src(config.dest + "/rev-manifest.json"); var replacePath = require('gulp-replace-path'); var revReplace = require('gulp-rev-replace'); var path = require('path'); // 處理html中的相對路徑為相對config.src的絕對路徑 var replacement = function (match, __absolutePath__) { return function (match, srcStr, originPath) { if (originPath.charAt(0) === '/' || /^http/i.test(originPath)) { // absolute path return match; } else { var relative = path.relative(PRocess.cwd() + '/' + config.src, path.dirname(__absolutePath__)); return (srcStr + "/" + path.join(relative, originPath)).replace(////g, '/'); // fix windows下sep } }; }; return gulp.src(config.htmlSrc, {base: config.src}) .pipe(replacePath(/(<script[^>]*?src=['"])([^'"]*)/g, replacement)) // 替換script src .pipe(replacePath(/(<link[^>]*?href=['"])([^'"]*)/g, replacement)) // 替換 link中的 href .pipe(revReplace({manifest: manifest, canonicalUris: false})) .pipe(gulp.dest(config.htmlDest));});
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河曲县| 成安县| 西丰县| 长治县| 铜梁县| 绵阳市| 永和县| 抚松县| 措美县| 育儿| 红安县| 阿鲁科尔沁旗| 平陆县| 曲水县| 凌云县| 洛扎县| 成都市| 新竹县| 哈巴河县| 喜德县| 洛宁县| 仙居县| 临泽县| 毕节市| 屏边| 闵行区| 和硕县| 吉水县| 江北区| 左云县| 通辽市| 嘉定区| 瑞昌市| 浦北县| 宜春市| 柳河县| 深水埗区| 延长县| 赤城县| 怀化市| 灯塔市|