0

js我的基本要求是查找对,文件夹中的任何文件所做的更改css并更新 JSON 文件。


目录结构:

  • html
    • css
      • x.css
      • y.css
    • js
      • 一个.js
      • b.js
      • c.js
    • 服务器
      • 版本.json

versions.json

{
  "css": {
     "x.css": 1,
     "y.css": 1,
  },
  "js": {
     "a.js": 1,
     "b.js": 1,
     "c.js": 1,
  },
}

js当我对文件夹和文件夹中的任何文件进行任何更改时css,我希望 gulp 返回已保存文件的名称并查找密钥versions.json并将其值增加1ie 如果我保存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-修改

变量dirfilename需要具有文件夹的值和更改文件的名称。

对此或什至另一种方法的任何改进都很好

4

0 回答 0