使用js开发一个实时监控文件的程序,当文件夹中存入特定后缀的文件时,控制台实时打印出文件名,目前的问题是无法实时返回这个文件名,代码如下

function fop() {
let fileName = null ;
var watch = require('node-watch');
var dir_name = 'path';
var string_count = dir_name.length; //获取字符串长度

watch(dir_name, {filter: /\.dwg$/}, function (evt, name) {
    if (evt == 'update') {
        //console.log('%s ==> 新增文件', name);
        var aaa = name.substring(0, name.lastIndexOf("."));  //去掉文件后缀
        fileName = aaa.substring(string_count);// 这里 string_count 是指文件名的索引位置
        console.log('文件名为: %s', fileName);
    }
})
return fileName

}

// 使用moudle.exports来列出需要调用的函数
module.exports = {
fop
}

fop()

需要将文件信息发送到响应中,然后返回给前端。直接使用console是无法返回信息的。

前端也要实时显示的话,就得用 webscoket了