初识nodejs21,22

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 对象传入。
*     这就是 前端所谓的自动化构建工具*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值