脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%

所属分类: 网络编程 / JavaScript 阅读数: 1092
收藏 0 赞 0 分享
SA 1.0 Alpha发布,压缩效率提高大约10%
压缩算法改进:

    实现了自己的文本压缩算法

        * 提高了压缩比率以及解压效率。

    优化了语法压缩

        * 合并连续var申明,
        * 删除了多余var申明,
        * 删除了多余大括弧({、}),
        * 删除了多余分号(;)。

UI改进:

    * 自动编码识别
    * 支持文件拖放
    * 支持JAVA1.4.2+ 当jar打开方式为java时,可双击运行,但,若JAR打开方式被修改(如winrar),请使用如下方式:
      CMD>java -jar xx.jar
    * 格式化
      注释只能在各语句之间,插在语句中间的注释有可能丢失,在格式化的时候,算bug吧。
    * 压缩参数设置
      操作->设置:
      执行语法压缩:将替换局部变量,删除冗余语法。
      执行文本压缩:将脚本文本分词、替换压缩。执行时可通过eval( 解压函数() )方式还原。
      兼容IE5、NS3:老版本的浏览器对正则表达式支持优先,是否需要兼容他们(需要采用稍微复杂一点的解压函数)。
      执行文本压缩的条件设置:设置何时采用文本压缩,有两项,比率要求和大小要求;因为eval是需要额外开销的,所以,只有当文本压缩的比率小于指定值且文件大小大于指定值时才采用文本压缩。


ANT Task

    * 默认编码 :取JRE的默认编码,可能随机器不同而改变,所以,推荐手动指定器编码方式(eg:charset="utf-8"/charset="GBK")
    * jsicompile 任务:编译JSI (压缩,预装载编译,定制启动文件)
    * jscompress 压缩脚本

ANT Task 示例
jsicompiler 示例(处理JSI及其集成的第三方脚本)
xml 代码 
复制代码 代码如下:


<target name="compress" depends="init">    
    <jsicompile destDir="ant/temp/scripts" rebuildboot="true" charset="utf-8">    
        <fileset dir="web/scripts">    
            <include name="*/**/*.*" />    
            <include name="*.*" />    
            <exclude name="preload/**" />    
        </fileset>    

        <preloadgroup path="code-decorator.js">    
            <fileset dir="web/scripts">    
                <include name='js/io/__$package.js' />    
                <include name='js/io/request.js' />    
                <include name='js/io/writer.js' />    
                <include name='js/xml/__$package.js' />    
                <include name='js/xml/template.js' />    
                <include name='js/xml/tag.js' />    
                <include name='js/util/__$package.js' />    
                <include name='js/util/collections.js' />    
                <include name='org/xidea/syntax/__$package.js' />    
                <include name='org/xidea/syntax/syntax-parser.js' />    
                <include name='org/xidea/decorator/__$package.js' />    
                <include name='org/xidea/decorator/code.js' />    
            </fileset>    
        </preloadgroup>    
    </jsicompile>    
</target> 
   
jscompress 示例(压缩普通脚本)   
xml 代码  

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
更多精彩内容其他人还在看

Node.js事件的正确使用方法

这篇文章主要给大家介绍了关于Node.js事件的正确使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

微信小程序自定义导航栏实例代码

这篇文章主要给大家介绍了关于微信小程序自定义导航栏的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

js字符串处理之绝妙的代码

这篇文章主要介绍了js字符串处理之绝妙的代码,包括字符串去重、将字符放在对象中遍历拼接出字符串、把字符串的奇数位和偶数位分别提取到两个数组中、将两个数组按奇数位和偶数位插入拼接为字符串,有时候需要对字符进行处理的时候可以用得到
收藏 0 赞 0 分享

vue设计一个倒计时秒杀的组件详解

这篇文章主要介绍了vue设计一个倒计时秒杀的组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解服务端预渲染之Nuxt(介绍篇)

这篇文章主要介绍了详解服务端预渲染之Nuxt(介绍篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

javascrit中undefined和null的区别详解

这篇文章主要介绍了javascrit中undefined和null的区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈javascript中的prototype和__proto__的理解

这篇文章主要介绍了浅谈javascript中的prototype和__proto__的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解vue中this.$emit()的返回值是什么

这篇文章主要介绍了详解vue中this.$emit()的返回值是什么,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

浅谈express.js框架中间件(middleware)

这篇文章主要介绍了浅谈express.js框架中间件(middleware),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue自定义指令directive的使用方法

这篇文章主要介绍了vue自定义指令directive的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多