继承,监控目录

监控watch目录中的.h和.cpp后缀的文件,移动到process目录中。

var events = require('events');
var util = require('util');
var fs = require('fs');
var path = require('path');

function Watcher(watchDir, processDir) {
    this.watchDir = watchDir;
    this.processDir = processDir;
}

util.inherits(Watcher, events.EventEmitter);

Watcher.prototype.watch = function() {
    var self = this;
    fs.readdir(this.watchDir, function(err, files) {
        if (err) {
            console.log(err);
        } else {
            for (var file of files) {
                self.emit('process', file);
            }
        }
    });
}

Watcher.prototype.start = function() {
    var self = this;
    fs.watchFile(this.watchDir, function() {
        self.watch();
    });
}

var watcher = new Watcher('./watch', './process');
watcher.on('process', function(file) {
    var watchFile = this.watchDir + '/' + file;
    var processedFile = this.processDir + '/' + file;
    console.log(watchFile);
    console.log(processedFile)
    var extname = path.extname(watchFile);
    if (extname == '.cpp' || extname == '.h') {
        fs.rename(watchFile, processedFile, function(err) {
            console.log(err);
        });
    }
});
watcher.start();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值