node.js - nodejs 监听目录下所有的文件
巴扎黑
巴扎黑 2017-04-17 13:32:38
[Node.js讨论组]

有一个项目,想用nodejs 做一下文件夹目录下所有文件的 监听,

当文件夹目录下 增加了 文件的时候,就执行某个脚本

如何监听 是否有新的文件生成呢,不是文件修改 ,是有新的文件添加了

巴扎黑
巴扎黑

全部回复(5)
阿神

我忍不住了啊

年轻人,你需要

npm install chokidar --save

为什么呢?

Node.js fs.watch:

  • 不会再OSX上显示文件名

  • 当你在OSX用编辑器编辑文件的时候不会触发事件

  • 经常会连续触发两次事件

  • 没有提供一个好的接口去递归文件

  • 等等

Node.js fs.watchFile:

  • 经常在处理事件的时候会挂掉

  • 没法递归文件

  • 过高的CPU占用率

让我们再看看数据

所以用Chokidar是个好主意

ringa_lee

使用fs.watch函数,这个函数是专门用来对文件(或目录)进行监控的。

1. 函数原型

fs.watch(filename[, options][, listener])

2. 举例

(1) 使用的代码如下:

var fs = require('fs');

fs.watch('/home/su/node/tmp', {
    persistent: true, // 设为false时,不会阻塞进程。
    recursive: false
}, function(event, filename) {
    if (event === 'change') {
        console.log('检测到新增文件。');
        if (filename) {
            console.log('文件名:', filename);
        }
    }
});

(2) 在目录下增加一个文件:

touch a.txt

(3) 结果在控制台打印:

检测到新增文件。
文件名: a.txt

更详细的说明,参考API文档。

ringa_lee

这东西 为啥不用 Gulp呢~

巴扎黑

grunt-watch

怪我咯

用chokidar吧,这个模块比较成熟。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号