最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Node.js实现JS文件合并小工具_node.js

来源:动视网 责编:小OO 时间:2020-11-27 20:50:27
文档

Node.js实现JS文件合并小工具_node.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')。内容虽少,不过还是想借此适应一下commomJS的模块化编程,所以就分出上面这个模块了^_^,文件名:compress.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')。内容虽少,不过还是想借此适应一下commomJS的模块化编程,所以就分出上面这个模块了^_^,文件名:compress.js。


临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了。

代码如下所示:

输出到本目录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。

下面是引用它的代码:

文件名:run.js

控制台运行:

$ node run a.js b.js c.js....

即可把a.js b.js c.js (相对路径,也可使用绝对路径,路径定位和其他语言相似)压缩到默认的min.js里了。

当然,这个压缩还不够完善,空格去的不够完全,也没有基于流(还好压缩的JS文件都不大^_^),和专业的压缩插件如:uglify.js没法比╮(╯▽╰)╭不过练练手还是可以的......

文档

Node.js实现JS文件合并小工具_node.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')。内容虽少,不过还是想借此适应一下commomJS的模块化编程,所以就分出上面这个模块了^_^,文件名:compress.js。
推荐度:
标签: 实现 js 合并
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top