繁体   English   中英

如何让 chokidar watcher 在 electron JS/Node JS 中继续在后台运行

[英]How to let chokidar watcher keep running in the background in electron JS/ Node JS

我正在使用 chokidar 库来跟踪文件。 所以我创建了这个 function:

 function StartWatcher(username){ console.log(username) const chokidar = require('chokidar'); const folderLocation='watch-folder' const watcher = chokidar.watch(folderLocation,{ persistent: false, ignoreInitial: true, ignored: [ 'watch-folder/ignore-1.txt', 'watch-folder/ignore-2.txt' ], ignorePermissionErrors: false, interval: 100, binaryInterval: 300, disableGlobbing: false, enableBinaryInterval: true, useFsEvents: false, usePolling: false, atomic: true, followSymlinks: true, awaitWriteFinish: false }) watcher.on('ready',async()=>{ console.log("I am ready to watch files for ",username) console.log(folderLocation) }) watcher.on('add',async (path) => { console.log(path,'File Path....... for',username) var today = new Date(); var fileAddingDate=today.getDate()+"/"+(today.getMonth()+1)+"/"+today.getFullYear()+" "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds() fs.readFile(path,async function(error,data){ console.log(data) }) }) watcher.on('change',async (path)=>{ console.log(path,'Content change in the file... for',username); var today = new Date(); var fileAddingDate=today.getDate()+"/"+(today.getMonth()+1)+"/"+today.getFullYear()+" "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds() fs.readFile(path,async function(error,data){ console.log(data) }) }) }

现在我在这样的情况下调用这个 function。

StartWatcher(devansh)

但我有问题。 只有就绪事件在起作用。 Rest 所有事件都不起作用。 我认为这是因为当我调用 function 时,它只执行了一次并停止了。 需要一些帮助。

我不知道您是否找到了解决此问题的方法,但是,查看您的 function 以及发生在您身上的事情,您的问题是您将“持久”设置为“假”,这会导致之后不再发出事件“就绪”事件,您可以查看它的 API:https://www.npmjs.com/package/chokidar#user-content-persistence

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM