我有以下UseCase:
A创建一个聊天并邀请B和C - 在服务器A上创建一个文件.A,B和C将消息写入此文件.A,B和C读取此文件.
我想在服务器上创建一个文件并观察这个文件,如果有人在这个文件中写入内容,则用websockets发回新内容.
因此,我的node.js应用程序应该观察到此文件的任何更改.
如何观察文件更改?节点js是否可以不锁定文件?
如果文件不可能,那么数据库对象(NoSQL)是否可行
Hen*_*son 56
好消息是您可以使用Node的API观察文件更改.
在解决这些问题时,阅读Node.js API文档非常有用.这是一个非常宝贵的来源.:)
但是,这不允许您访问已写入文件的内容.您可以使用该fs.appendFile();函数,以便在将某些内容写入文件时,将事件发送到"记录"正在写入的新数据的其他内容.
fs.watch(): 直接从文档粘贴
fs.watch('somedir', function (event, filename) {
console.log('event is: ' + event);
if (filename) {
console.log('filename provided: ' + filename);
} else {
console.log('filename not provided');
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:您可以使用该功能
fs.watchFile();
Run Code Online (Sandbox Code Playgroud)
这将允许您观看文件以进行更改.IE浏览器.每当其他任何进程访问它时.
你也可以使用node-watch。这是一个简单的例子:
const watch = require('node-watch')
watch('README.md', function(event, filename) {
console.log(filename, ' changed.')
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51796 次 |
| 最近记录: |