一尘不染

使用node.js观察文件更改

node.js

我有以下UseCase:

A创建一个聊天并邀请B和C-在服务器A上创建一个文件。A,B和C将消息写入此文件。A,B和C读取了此文件。

我想在服务器上创建一个文件并观察该文件,如果其他人向该文件中写入内容,则将新内容与websockets发送回去。

因此,我的node.js应用程序应观察到此文件的任何更改。

如何观察文件更改? 在不锁定文件的情况下使用节点js可以实现吗?

如果无法使用文件,则可以使用数据库对象(NoSQL)


阅读 218

收藏
2020-07-07

共1个答案

一尘不染

好消息是您可以使用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');
    }
});

在此处阅读有关fs.watch()的信息;功能

编辑 :您可以使用该功能

fs.watchFile();

在这里阅读有关fs.watchFile();的内容。功能

这将使您可以查看文件中的更改。就是 每当其他类型的进程访问它时。

2020-07-07