xglys 发表于 2017-2-21 11:52:32

Nodejs一键压缩合并JS/CSS/Images

Nodejs一键压缩合并JS/CSS/Images
 
大家好久不见,最近比较忙,这次跟大家分享的一个功能是利用Nodejs做的一键压缩合并JS/CSS/Images。
 
前言:
 


 


 

1.测试通过环境:
 
chrome v28.0.1500.71 + nodejs v0.10.18  /  firefox v14.0.1 + nodejs v0.10.18
 
2.一键压缩文件存放位置:
 
根目录下的test文件夹(你也可以指定需要压缩的根目录,可以在前端传uglifyUrl这个值),你必须把
需要压缩的Js/Css/Images分别归类归好,如下图:
 


 
当然也可以这样,如下图:


目录层级深度可以无限长,只需注意两点:
 
1.要压缩的文件必须放在test(可在前端指定)目录下;
 
2.同一个目录下,只能放同一类型的文件,比如js文件夹里只能有js文件,css文件夹里只能有css文件,
图片文件夹里只能用图片类型文件(包括png/jpg/gif/jpeg…)
 
 
 
 
3.此功能需要安装的node模块(压缩包解压后模块已安装好):
 
socket.io :作用为客户端和服务器端的双向实时通信;
 
uglify-js :作用为js文件的压缩;
 
clean-css :作用为css文件的压缩;
 
node-smushit :作用为图片文件的压缩;
 
walk :作用为分析磁盘的目录结构;
 
 
4.功能介绍:
 
(1)当配置好nodejs服务器后,访问一键压缩页面http://127.0.0.1:3003,会出现如下图:


 
 
(2)当把需要压缩的文件放到test根目录下后,即可点击一键压缩按钮进行压缩,如下图:
 


 


 
(3)如果压缩图片不多的话,应该不到两分钟,即可压缩完毕,如下图:


 
 
(4)此时能达到的合并压缩效果,如下图
 
 
   1.Js文件合并压缩:
 

  2.Css文件合并压缩:
 

   3. 图文文件压缩前与压缩后的容量对比:
 
 

 


  

 


5.常见错误分析:
 

 
(1) node模块安装有误,如下图
 

 
(2)压缩指定目录有误,如下图
 

 
(3)压缩的Js文件语法错误,或者压缩的目录文件夹中,存在未知的类型文件,会导致合并压缩无法进行下去,如下图:
 

 
 
6.有关IT界的其它事儿:
 

 






 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 






 
 
7.最后 

 
 
页: [1]
查看完整版本: Nodejs一键压缩合并JS/CSS/Images