隨筆-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 金大為 閱讀(133) 評論(1)  編輯  收藏

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

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


          網站導航:
           
          主站蜘蛛池模板: 漳浦县| 廊坊市| 富锦市| 崇仁县| 穆棱市| 武威市| 杭州市| 老河口市| 冀州市| 鄢陵县| 华坪县| 上犹县| 内乡县| 天柱县| 府谷县| 顺义区| 石河子市| 土默特左旗| 茶陵县| 南部县| 普兰县| 驻马店市| 罗山县| 合阳县| 大竹县| 建阳市| 泾源县| 饶平县| 安泽县| 志丹县| 建德市| 昆明市| 平泉县| 宣威市| 家居| 中牟县| 南木林县| 阿拉善左旗| 山东省| 河西区| 久治县|