首页 > 代码库 > shell文本处理——最基本方法压缩js文件
shell文本处理——最基本方法压缩js文件
关于javascript代码文件的压缩在之前的文章中提到过(http://blog.csdn.net/u010487568/article/details/19701575),一般来说有三种方式:
- 仅压缩空白、注释等字符(最基本方法)
- 压缩空白、注释并替换变量名
- 压缩恐怖、注释、替换变量名,同时最小化文件所有的单词
最近在进一步学习shell,对这个古老的工具越发的感到高效便捷,因此对于这个主题实现了shell版本的最基本方法的实现。
主要的策略如下:
- 去除单行注释
- 去除换行符和制表符
- 压缩多个空格为单个
- 去除多行住处内容
- 将“ (”、“ )”、 “{ ”、“ }”、 “ ; ” 、“ : ” 、“ = ”等字符两侧空格去除
具体实现如下:
# #!/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');};} .......
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。