gulp 版本号修改

默认效果:

<link rel="stylesheet" href="css/app-803a7fe4ae.css">
<script src="js/app-3a0d844594.js"></script>
期望效果

<link rel="stylesheet" href="css/app.css?v=803a7fe4ae">
<script src="js/app.js?v=3a0d844594"></script>
 

 

为了将 gulp-rev + gulp-rev-collector 添加版本号后的默认效果修改为预期效果,需作如下修改:

1.打开node_modules\gulp-rev\index.js
manifest[originalFile] = revisionedFile;
更改为: 
manifest[originalFile] = originalFile + '?v=' + file.revHash;
 
2.打开nodemodules\rev-path\index.js
return filename + '-' + hash + ext;
更改为: 
return filename + ext;
 
3.打开node_modules\gulp-rev-collector\index.js
if ( !_.isString(json[key]) || path.basename(json[key]).replace(new RegExp( opts.revSuffix ), '' ) !== path.basename(key) ) { 
更改为: 
if ( !_.isString(json[key]) || path.basename(json[key]).split('?')[0] !== path.basename(key) ) {
regexp: new RegExp( '([\/\\\\\'"])' + pattern, 'g' ),
更改为: 
regexp: new RegExp( '([\/\\\\\'"])' + pattern+'(\\?v=\\w{10})?', 'g' ),
(如果该文件查找不到
if ( !_.isString(json[key]) || path.basename(json[key]).replace(new RegExp( opts.revSuffix ), '' ) !== path.basename(key) ) {

if ( !_.isString(json[key]) || path.basename(json[key]).replace(new RegExp( opts.revSuffix ), '' ) !== path.basename(key) ) {
则把index.js替换

猜你喜欢

转载自blog.csdn.net/github_39051926/article/details/76619045