初识nodejs21,22

来源:互联网 发布:网页数据抓取软件 编辑:程序博客网 时间:2024/06/05 07:10

watch监控修改的文件

上线之后对css,js,等作一个压缩,合并,编译的操作.

把less,sass源文件通过编译器编译成css文件,利用node 写的一个工具自动化编译,压缩,合并.打包上线.

var fs = require("fs");var filedir = "./perfect/source";fs.watch(filedir,function(ev,file){    //console.log(ev + "/" + file);    fs.readdir(filedir,function(err,dataList){        var arr =[];        dataList.forEach(function(f){                if(f){                        var info =fs.statSync(filedir + "/" +f);                        //console.log(info);                        //console.log(f);                        if(info.mode == 33206){                            arr.push(filedir + "/" +f);                        }                }        });        //console.log(arr);        //读取数组当中文件的内容,并合并.        var content ="";        arr.forEach(function(f){            var c= fs.readFileSync(f);            //console.log(c);            content += c.toString() + "\n";        });        console.log(content);        fs.writeFileSync("./perfect/js/index.js",content);    })})//只要有一个文件发生了变化,我们就需要对这个文件夹下面的所有子文件进行递归操作进行读取,然后合并。//to be continued/** fs.readdir(path[, options], callback)* path <string> | <Buffer> | <URL>* options <string> | <Object>*         encoding <string> 默认 = 'utf8'* callback <Function>*     异步的 readdir(3)。 读取一个目录的内容。 回调有两个参数 (err, files),*     其中 files 是目录中不包括 '.' 和 '..' 的文件名的数组。*     可选的 options 参数用于传入回调的文件名,它可以是一个字符串并指定一个字符编码,*     或是一个对象且由一个 encoding 属性指定使用的字符编码。*     如果 encoding 设为 'buffer',则返回的文件名会被作为 Buffer 对象传入。*     这就是 前端所谓的自动化构建工具*/
原创粉丝点击