监听文件变化后合并文件

来源:互联网 发布:ab测试 算法 编辑:程序博客网 时间:2024/05/23 18:56

1.监听文件(夹)变化

fs.watch(fileDir,cb)

2.读取目录

fs.readdir(fileDir,cb)fs.readdirSync(fileDir)

3.读文件

fs.readFile(file,cb)fs.readFileSync(file);//file为文件名或者文件描述符

4.写文件

fs.writeFile(filePath,content,cb)fs.readFileSync(filePath,content);

var fs = require('fs'),    fileDir = './weibo/source';//文件路径fs.watch(fileDir, function (event, file) {//fs.watch监听文件或文件夹的变化,这里是文件夹,而fs.watchFile为监听文件的变换    var fileArr = [],        content = '';    fs.readdir(fileDir, function (error, datalist) {//异步的读取目录,回调的第二个参数为文件名中不包含'.'或'..'的文件数组。若为同步的读取目录,则为readdirSync,返回文件名中不包含'.'或'..'的文件数组。        datalist.forEach(function (f) {//这里的f指的是读取到文件目录中的某个文件            var infor = fs.statSync(fileDir + '/' + f);//同步的读取文件信息,返回值为一个fs.stats对象            if (infor.mode === 33206) {//这里stats.mode区分文件的类型,33206表示读取到的是文件                fileArr.push(fileDir + '/' + f);            }        });        fileArr.length && fileArr.forEach(function (f) {            content += fs.readFileSync(f)+'\n';//同步读取文件信息,返回文件内容,通过+''将读取到的buffer流转换为字符。        });        fs.writeFileSync('./weibo/js/index.js',content);//同步写        console.log(content);    });});
原创粉丝点击