临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了。
代码如下所示:
/*符合CommonJs规范*/ var writePath = 'min.js',/*默认输出到本目录min.js文件里*/ fs = require('fs'), r1 = /^(.+)$/mg,/*分行*/ r2 = /\s{2,}/g,/*去空格*/ r3 = /([^\\])\/\/.*/g,/*去行注释*/ r4 = /\/\*.*?\*\//g,/*去块注释*/ str = ''; module.exports.run = function(input){ input.forEach(function(item){ /*合并对顺序有需求,所以同步读取文件*/ var data = fs.readFileSync(item, 'utf8'), lines = data.match(r1);/*行数组*/ /*拼成一串*/ lines.forEach(function(item){ item = item.replace(r3, function($1, $2){return $2;}); str = str + item; }); }); str = str.replace(r2,' ').replace(r4, ''); /*异步写入到目标文件*/ fs.appendFile(writePath, str, {encoding: 'utf8'}, function(err){ if(err) {throw err}; console.log('complete........'); }); };
内容虽少,不过还是想借此适应一下commomJS的模块化编程,所以就分出上面这个模块了^_^,文件名:compress.js。
下面是引用它的代码:
var a = require('./compress.js');/*加载compress模块 ‘./'表示相同目录下查找本地文件*/ var input = process.argv;/*获取控制台输入数组(process引用当前进程)*/ a.run(input.slice(2)/*忽略前数组前两个*/);
文件名:run.js
控制台运行:
$ node run a.js b.js c.js....
即可把a.js b.js c.js (相对路径,也可使用绝对路径,路径定位和其他语言相似)压缩到默认的min.js里了。
当然,这个压缩还不够完善,空格去的不够完全,也没有基于流(还好压缩的JS文件都不大^_^),和专业的压缩插件如:uglify.js没法比╮(╯▽╰)╭不过练练手还是可以的......
问题内容: 我正在尝试通过合并和压缩CSS和JS文件来优化网站性能。考虑到我所面临的实际情况,我的问题更多地是关于如何实现这一(具体)步骤的(尽管在其他开发人员中也应该是典型的)。 我的页面引用了多个CSS和JS文件,如下所示: 对于生产版本,我想将3个CSS文件合并为一个,并使用例如将其最小化。但是,然后,我需要更新所有需要这3个文件的页面,以引用刚缩小的CSS。这似乎容易出错(例如,您要在许多
本文向大家介绍python实现文本文件合并,包括了python实现文本文件合并的使用技巧和注意事项,需要的朋友参考一下 python合并文本文件示例代码。 python实现两个文本合并 employee文件中记录了工号和姓名 cat employee.txt: bonus文件中记录工号和工资 cat bonus.txt: 要求把两个文件合并并输出如下, 处理结果: 这个应该是要求用shell来写的
本文向大家介绍Java实现文件分割和文件合并实例,包括了Java实现文件分割和文件合并实例的使用技巧和注意事项,需要的朋友参考一下 文件切割和文件合并这个问题困扰了我有一段时间了(超过一天没做粗来)。 找了好多博客,本来想转载一个来的 结果找不到了。很无奈。 只好自己贴代码上了。 当然我会尽力好好写注释的。 文件切割器: 文件合并器: 文件合并器就不写注释了,因为这是一个逆过程。(懒癌附体) 以上
本文向大家介绍Node.js实现文件上传,包括了Node.js实现文件上传的使用技巧和注意事项,需要的朋友参考一下 在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为。 google 了一番之后, 明白了浏览器无非就是利用http协议来给服务器传输数据, 具体协议就是《RFC 1867 - Form-ba
本文向大家介绍python实现文件的分割与合并,包括了python实现文件的分割与合并的使用技巧和注意事项,需要的朋友参考一下 使用Python来进行文件的分割与合并是非常简单的。 python代码如下: splitFile--将文件分割成大小为chunksize的块; mergeFile--将众多文件块合并成原来的文件; 程序注释部分是使用类的对象的方法。 以上就是本文的全部内容,希望对大家的学
本文向大家介绍python实现大文件分割与合并,包括了python实现大文件分割与合并的使用技巧和注意事项,需要的朋友参考一下 很多时候我们会面临大文件无法加载到内存,或者要传输大文件的问题。这时候就需要考虑将大文件分割为小文件进行处理了。 下面是一种用python分割与合并分件的实现。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。