js
我的基本要求是查找对,文件夹中的任何文件所做的更改css
并更新 JSON 文件。
目录结构:
- html
- css
- x.css
- y.css
- js
- 一个.js
- b.js
- c.js
- 服务器
- 版本.json
- css
versions.json
:
{
"css": {
"x.css": 1,
"y.css": 1,
},
"js": {
"a.js": 1,
"b.js": 1,
"c.js": 1,
},
}
js
当我对文件夹和文件夹中的任何文件进行任何更改时css
,我希望 gulp 返回已保存文件的名称并查找密钥versions.json
并将其值增加1
ie 如果我保存a.js
,那么它应该只更新值 "a.js"
在. versions.json
_2
这是我所做的:
gulp.task('upgrade-file-version', function() {
gulp.src('server/versions.json')
.pipe(modify({
fileModifier: function(file, contents)
{
var fileContent = contents;
var parsedObj = JSON.parse(fileContent);
var dir = 'js'; // folder name
var filename = 'a.js'; // file name
var oldVersion = parsedObj[dir][filename];
var newVersion = oldVersion + 1;
parsedObj[dir][filename] = newVersion;
var newFileContent = JSON.stringify(parsedObj, null, 4);
return newFileContent;
}
}))
.pipe(gulp.dest('server/'));
});
插件:gulp-修改
变量dir
和filename
需要具有文件夹的值和更改文件的名称。
对此或什至另一种方法的任何改进都很好