隨筆-57  評論-129  文章-0  trackbacks-0

           

          JSA 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及其集成的第三方腳本)

              <target name="compress" depends="init">
                
            <jsicompiler destDir="ant/temp/script2" charset="utf-8" rebuildboot="true">
                  
            <fileset dir="web/scripts">
                    
            <include name="*/**/*.js" />
                    
            <include name="*.js" />
                    
            <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>
                
            </jsicompiler>
              
            </target>

            jscompress 示例(壓縮普通腳本)

              <target name="test-compress">
                
            <jscompress destDir="ant/temp/script2" charset="utf-8">
                  
            <fileset dir="web/scripts">
                    
            <include name="js/**/*.js" />
                    
            <include name="*.js" />
                  
            </fileset>
                
            </jscompress>
              
            </target>

           




          評論也很精彩,請點擊查看精彩評論。歡迎您也添加評論。查看詳細 >>
          推薦相關文章:
            邀請第三方團隊開發頁面裝飾器實現的公開信。
            云想衣裳花想容--JSI組件模型介紹(一)
            云想衣裳花想容--JSI組件模型介紹(二)

          文章來源: http://jindw.javaeye.com/blog/77776
          posted on 2007-05-08 11:35 金大為 閱讀(131) 評論(1)  編輯  收藏

          評論:
          # re: 腳本分析、壓縮、混淆工具 JSA新版本發布,壓縮效率提高大約10% 2007-05-13 13:45 | 金大為

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 庐江县| 通辽市| 楚雄市| 大庆市| 怀化市| 菏泽市| 阿克苏市| 万源市| 孙吴县| 佛山市| 海盐县| 潢川县| 玉田县| 赤城县| 青州市| 临桂县| 东方市| 贵南县| 德钦县| 千阳县| 日喀则市| 布尔津县| 施秉县| 三明市| 淮南市| 容城县| 奇台县| 郯城县| 宁津县| 阿拉善右旗| 淮南市| 兰州市| 石城县| 武功县| 阿荣旗| 郓城县| 改则县| 红桥区| 镇平县| 曲靖市| 林口县|