【发布时间】: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