Node.js监控文件何时创建
node.js monitoring for when a file is created
我正在编写一个node.js程序,需要在特定目录中创建具有特定名称的文件时立即执行某些操作。我可以通过重复调用fs来实现。readdir,直到我看到文件名,但我宁愿做一些更有效的事情。有人知道怎么做吗?
查看fs.watch
(和fs)。watchFile作为后备)实现,但意识到它并不完美:
http://nodejs.org/api/fs.html fs_fs_watch_filename_options_listener
#警告
fs。watch API在不同平台上并不是100%一致的在某些情况下不可用。可用性#
此功能依赖于底层操作系统提供的文件系统更改通知的方法。
On Linux systems, this uses inotify. On BSD systems (including OS X), this uses kqueue. On SunOS systems (including Solaris and SmartOS), this uses event ports. On Windows systems, this feature depends on ReadDirectoryChangesW.
如果底层功能由于某种原因不可用,则fs。手表将无法工作。例如,查看文件或网络文件系统(NFS、SMB等)上的目录通常不会
您仍然可以使用fs。watchFile,它使用统计轮询,但它是
您基本上可以自己使用fs.watchFile
或fs.watch
,或者使用节点模块来为您完成,我强烈建议使用节点模块。对于无bug的跨平台快速解决方案,这可能有点棘手。我建议使用chokidar或查看其他模块。
使用chokidar你可以这样做:
var chokidar = require('chokidar');
var watcher = chokidar.watch('YourDirecrtory');
watcher.on('add', function(path) {console.log('File', path, 'has been added');});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 为effect Composer创建GodRays效果过程
- 从javascript创建一个列表
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何访问声音管理器2创建的声音对象
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 使用Facebook live API创建实时视频对象时的隐私设置
- 有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
- 何时从创建返回对象
- AngularJS-由$scope创建的作用域何时执行$new()已删除.垃圾收集器或Angular负责处理它吗
- 何时创建新的Flux Store
- Web 浏览器何时请求动态创建的 iframe 的 src 内容
- JS引擎何时创建垃圾回收根
- 何时使用javascript而不是创建aspx页面
- 何时创建/清除$_FILES |重新加载与javascript的关系
- 在 JavaScript 中创建新对象时何时需要括号和新关键字
- 在一个单一的经纬度坐标周围创建一个半径来创建“到达区”.因此脚本知道车辆何时到达位置
- Node.js监控文件何时创建