观察保存在文件夹中的所有文件,并通过gulp更改另一个文件

时间:2017-01-08 09:01:40

标签: javascript json gulp gulp-task

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

目录结构:

  • HTML
    • CSS
      • x.css
      • y.css
    • JS
      • a.js
      • b.js
      • c.js
    • 服务器
      • versions.json

versions.json

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

当我对jscss文件夹中的任何文件进行任何更改时,我希望gulp返回已保存文件的名称并在{{1}中查找密钥}并将其值增加versions.json,即如果我保存1,那么它应该只将 a.js"a.js"的值更新为versions.json }}

以下是我所做的:

2

插件:gulp-modify

变量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/')); }); dir需要包含已更改文件的文件夹和名称的值。

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

0 个答案:

没有答案