如何使用nodejs找出文件重命名事件?

时间:2019-03-22 09:44:51

标签: javascript node.js

如何使用nodejs找出文件重命名事件?

节点提供fs.watch API来侦听文件更改/创建/删除事件,但我们无法侦听重命名/移动事件

1 个答案:

答案 0 :(得分:1)

如果您观看目录,您(可能)将获得rename事件,其中的事件将被重命名。实际上,您将获得两个:一个列出旧名称,另一个列出新名称。 (是的,这不理想。)

const fs = require("fs");
const watcher = fs.watch("the-directory", {recursive: true}, (eventType, fileName) => {
    if (eventType === "rename") {
        console.log(`${fileName} was renamed`);
    }
});

如果将目录中的文件foo重命名为bar,您将看到:

foo was renamed
bar was renamed

假设fs.watch在您的环境中有效,有lots of caveats in the documentation