Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 已装入文件夹中的节点js监视文件_Node.js_Express_Mount_Sshfs - Fatal编程技术网

Node.js 已装入文件夹中的节点js监视文件

Node.js 已装入文件夹中的节点js监视文件,node.js,express,mount,sshfs,Node.js,Express,Mount,Sshfs,您好,我使用的是一个NodeJS服务器,它正在监视挂载文件夹中的文件更改,但它没有检测到更改,因为文件应该是本地文件 有人能问我一个解决方案吗,因为我应该像这个检测来自另一台pc的文件更改的onde node js那样做 代码如下: var express=require('express'); var-app=express(); var server=require('http')。服务器(应用程序); var io=require('socket.io')(服务器); var fs=需要(

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

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

代码如下:

var express=require('express');
var-app=express();
var server=require('http')。服务器(应用程序);
var io=require('socket.io')(服务器);
var fs=需要('fs');
var-watch=require('node-watch');
var last={
id:“1”,
内容:“”
}
io.on('连接',函数(套接字){
log('有人通过套接字连接');
socket.emit('telegrama',lastGDC);
});
watch('data/position.csv',{recursive:true},函数(evt,name){
console.log(“%s已更改”,名称);
/*last.content=fileChangedContent*/
io.sockets.emit('telegrama',last);
});
侦听(8080,函数(){
log(“running server://localhost:8080”);
});

它现在工作了问题在于watch中没有检测到我装载的文件,但当我使用watchFile时,默认情况下,watchFile的工作间隔为5007毫秒,您可以在如下选项中设置它:

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

这个问题缺少一个重要的细节。数据文件夹是如何装入的?@LorenzMeyer我猜您可以使用sshfsPerhaps,它使用轮询检查更改,而不是依赖可能不适用于(所有)装入的文件系统的机制。是的,lorenz我正在使用sshfs,现在使用fs.watchFile处理事件,但没有检测到所有更改。就好像10秒钟内5次变化只检测到3次