shell文本处理——最基本方法压缩js文件
关于javascript代码文件的压缩在之前的文章中提到过(http://blog.csdn.net/u010487568/article/details/19701575),一般来说有三种方式:
- 仅压缩空白、注释等字符(最基本方法)
- 压缩空白、注释并替换变量名
- 压缩恐怖、注释、替换变量名,同时最小化文件所有的单词
- 去除单行注释
- 去除换行符和制表符
- 压缩多个空格为单个
- 去除多行住处内容
- 将“ (”、“ )”、 “{ ”、“ }”、 “ ; ” 、“ : ” 、“ = ”等字符两侧空格去除
# #!/usr/bin # ######################################################## #Filename: compreee-js.sh #Author : Oshyn Song #Time : 2014-8-19 #Desc : compress the javascript file by basic method ######################################################## if [ $# -ne 1 ]; then echo "Usage: sh $0 js-filename"; exit; fi jsfile=$1; echo "Compress $jsfile start ..."; cat -s $jsfile | sed 's!//.*$!!g' | tr -d '\n\t' | tr -s ' ' | sed 's!/\*.*\*/!!g' | sed 's! \?\([+=\!&%$\*\|><{}();,:]\) \?!\1!g' > "compress.${jsfile}"; echo "process finished.";
测试如下:
;(function(){ function __(id){ return document.getElementById(id); } function Ajax(options){ if (typeof XMLHttpRequest == 'undefined'){ XMLHttpRequest = function(){ return new ActiveXObject( navigator.userAgent.indexOf('MSIE 5') >= 0 ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP' ); }; } ..........压缩后代码:
;(function(){function __(id){return document.getElementById(id);}function Ajax(options){if(typeof XMLHttpRequest=='undefined'){XMLHttpRequest=function(){return new ActiveXObject(navigator.userAgent.indexOf('MSIE 5')>=0 ?'Microsoft.XMLHTTP':'Msxml2. XMLHTTP');};} .......
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。