【问题标题】:Node js watch files in mounted folderNode js监视挂载文件夹中的文件
【发布时间】:2017-06-07 13:03:44
【问题描述】:

您好,我正在使用节点 JS 服务器,它正在监视挂载文件夹中的文件更改,但它没有检测到更改,因为文件应该是本地文件。

谁能问我一个解决方案,因为我应该像这个检测来自另一台电脑的更改文件的onde node js那样做

有代码:

var express = require('express');  
var app = express();  
var server = require('http').Server(app);  
var io = require('socket.io')(server);
var fs = require('fs');
var watch = require('node-watch');

var last={  
  id: "1",
  content:""
}
io.on('connection', function(socket) {  

  console.log('Some one is connected by Sockets');
  socket.emit('telegrama', lastGDC);


});

watch('data/position.csv', { recursive: true }, function(evt, name) {
    console.log('%s changed.', name);
    /* last.content=fileChangedContent;*/
    io.sockets.emit('telegrama', last);

});
server.listen(8080, function() {  
    console.log("running server ://localhost:8080");
});

【问题讨论】:

  • 这个问题缺少一个重要的细节。 data文件夹是怎么挂载的?
  • @LorenzMeyer 我猜是 sshfs
  • 也许您可以使用fs.watchFile,它使用轮询来检查更改,而不是依赖可能不适用于(所有)已安装文件系统的机制。
  • 是的 lorenz 我正在使用 sshfs,现在使用 fs.watchFile 正在处理该事件,但未检测到所有更改。就好像 10 秒内的 5 个变化只检测到 3 个

标签: node.js express mount sshfs


【解决方案1】:

它现在正在工作,问题在于手表没有检测到我安装的文件,但是当我使用 watchFile 时,它​​默认工作 watchFile 以 5007 毫秒的间隔工作,您可以在如下选项中设置它:

watchFile('path/file.txt', { recursive: true,interval:2000 },          
});

【讨论】:

    猜你喜欢
    • 2019-06-06
    • 2023-03-08
    • 2019-03-09
    • 2019-07-02
    • 2021-08-08
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多