node.js watch模块监听文件夹改变示例

代码说明:

  1. watchDir: 这是你想要监听的文件夹路径。在这个例子中,它是当前脚本所在目录下的 watched_folder 文件夹。

  2. fs.existsSyncfs.mkdirSync: 这些函数用于在脚本运行时检查文件夹是否存在,如果不存在则创建它。

  3. fs.watch: 监听指定目录中的变化。eventType 表示发生的事件类型(例如,rename 表示文件被添加、删除或重命名,change 表示文件内容发生了更改),filename 是发生变化的文件或目录的名称。

运行该脚本后,你可以尝试在 watched_folder 文件夹中添加、删除或更改文件,终端将显示相应的事件信息。


const fs = require('fs');
const path = require('path');
// 监听的文件夹路径
const watchDir = path.join(__dirname, 'watched_folder');
// 检查文件夹是否存在
if (!fs.existsSync(watchDir)) {
    fs.mkdirSync(watchDir);
    console.log(`文件夹 ${watchDir} 已创建`);
}
// 使用 fs.watch 监听文件夹
fs.watch(watchDir, (eventType, filename) => {
    if (filename) {
        console.log(`文件名: ${filename}`);
        console.log(`事件类型: ${eventType}`);
        if (eventType === 'rename') {
            if (fs.existsSync(path.join(watchDir, filename))) {
                console.log(`${filename} 文件已添加或重命名`);
            } else {
                console.log(`${filename} 文件已删除`);
            }
        } else if (eventType === 'change') {
            console.log(`${filename} 文件已更改`);
        }
    } else {
        console.log('文件名未提供');
    }
});
console.log(`正在监听文件夹: ${watchDir}`);


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your xin1234.com Rights Reserved.