我一般是 node.js 的新手,尝试使用chokidar
下面的代码监视文件目录工作正常,但现在我想要实现的是当文件或目录发生更改时,函数将运行并将文件复制到文件夹中。
我正在考虑使用fs-extra
来复制文件,但每次我在里面放一个函数时都会on('change')
遇到错误。任何建议都会很棒!
var fs = require('fs-extra');
var chokidar = require('chokidar');
var watcher = chokidar.watch('data/2018/05', {ignored: /^\./, persistent: true});
watcher
.on('change', function(path) {console.log('File', path, 'has been changed');})
这是我的功能代码。
function UpdateFile(){
fs.copy('data/2018/05', 'data/2018/05/new', function(err){
if (err) return console.error(err);
console.log("updated success!")
}); //copies directory, even if it has subdirectories or files
}
watcher.on('change', function(path) {
console.log("CHANGE DETECTED: " + path);
updateFile();
});