当前位置: 首页 > 面试题库 >

使用node.js观察文件更改

梁丘波
2023-03-14
问题内容

我有以下UseCase:

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

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

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

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

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


问题答案:

好消息是您可以使用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();的内容。功能

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



 类似资料:
  • 我已经在我的项目中使用了几个星期了。我真的很喜欢它! 我使用的是JetBrains WebStorm IDE,所以我按照Prettier项目网站上的以下说明,了解如何在WebStorm中设置文件查看器:https://prettier.io/docs/en/webstorm.html#using-文件观察程序 然后,每次我保存一个JavaScript文件时,Prettier都会自动运行在它上面,W

  • 问题内容: 我有一个看起来像这样的文本文件: 我想使用node.js将每行的开头替换为“ myString”。因此,每个最终看起来像: 我正在尝试使用正则表达式,但是我怀疑可以使用读取和写入流来完成。 哪种正则表达式将起作用,或者使用node编辑此文件的最佳方法是什么? 问题答案: 根据您的需要,这是“同步”或“异步”的两个选项。

  • 问题内容: 如何聆听角度分量绑定更改并执行操作? 现在,当我要更改时要使用此值执行其他操作时,该 怎么办? 问题答案: 现在,当项目更改时,我想使用此值执行其他操作,该怎么办? 但我想避免使用濒死的$ scope 如果你 不 希望使用,你可以使用属性 设置器 检测到任何变化如: 请注意,您不应将其用于复杂的逻辑(原因: https //basarat.gitbooks.io/typescript/

  • 我必须取编辑文本的值并将其除以1.21....错误在哪里 错误:

  • 问题内容: 学习了Observables之后,我发现它们与Node.js流非常相似。两者都有一种机制,可在新数据到达,发生错误或没有更多数据(EOF)时通知使用者。 我很想了解两者之间的概念/功能差异。谢谢! 问题答案: 无论 观测量 和node.js中的 流 让你解决同样的根本问题:异步处理值的序列。我认为,两者之间的主要区别与激发其外观的环境有关。该上下文反映在术语和API中。 在 Obser

  • 我来自同步编程背景,我很难理解可观察性。 这是我的服务/提供商的摘录(离子2项目) 我将从订阅它。关于这一点,我有几个问题。 > 即使我没有声明,上面的代码是否返回一个可观察/观察者? 响应是JSON。如何检查/处理JSON并执行一些操作,如 那就做吧 我认为应该在提供者类中完成。只是一个典型的提示/例子将是真棒。 当请求到达subscribe方法时,它是否真的发生了? 创建和返回Angular