<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          hcliuLoad靜態(tài)資源增量更新

          聯(lián)合創(chuàng)作 · 2023-09-23 18:21

          依賴node.js環(huán)境 依賴java環(huán)境
          node.js 安裝
          http://nodejs.org/ 下載最新版本安裝
          安裝完成后 在windows的命令行 輸入 node回車
          如果成功進入node環(huán)境 則說明安裝正確

          java 安裝
          http://www.java.com/zh_CN/download/manual.jsp#win

          工具所有配置文件為不嚴(yán)格的json格式(不要求鍵名使用雙引號 鍵名和值都可以使用單引號等等);
          成功打包后程序自動退出
          打包失敗后程序暫停并提示 等待用戶關(guān)閉
          只能同時運行一個打包程序 否則會提示用戶


          下載最新版本安裝
          安裝完成后 在windows的命令行 輸入 java回車
          如果顯示java幫助回顯 則說明安裝正確

          使用方法:
              node c:\build\build.js d:\info\news\build.conf d:\info\news\ver.conf
              第二個參數(shù)為本工具所在路徑
              第三個參數(shù)為項目打包配置路徑
              第四個參數(shù)為項目靜態(tài)資源版本配置路徑

          工具配置:
              setting.conf
                  // yui jar包路徑
                  cssCompiler: './lib/yuicompressor-2.4.7.jar',
                  // google cloure jar包路徑
                  jsCompiler: './lib/compiler.jar',
                  // 臨時文件目錄
                  temp: '_temp'

          項目配置:
              ver.conf: 版本配置 (此處只需第一次使用時配置 以后會自動更新)
                  // 當(dāng)前版本 前7位是日期 后面兩位是個人標(biāo)識 后三位是此項目今天第幾次打包,打包程序會每次把后3為加1,
                  //前端load程序會判斷后三位間隔是否為1,只有為1才啟用增量更新,否則使用全量,如果不支持loadstorage,
                  //則程序會自動切換到script標(biāo)簽?zāi)J郊虞d
                  ver: '2013051401067',
                  // 個人標(biāo)識
                  personalFlag: '01',

              build.conf: 打包配置 (此文件上傳到svn 在項目內(nèi)共享)
                  {
                  // 鍵名為目標(biāo)文件 {ver}會替換成版本號 {md5}會計算文件md5
                  './release/client-{ver}.js': {
                          //增量更新算法中塊的大小,具體看原理文檔
                      chunkSize:12,
                      // files 為需要合并的文件 支持本地路徑 和 http url
                      files:['client.js']
                      }
                  }

           以client.js為例,第一個版本運行build.bat后會在release目錄生成client-2013062801001.js,
           第二次發(fā)布修改了client.js,運行buile.bat,會生成client-2013062801001_2013062801002.js,
           client-2013062801002.js
           在需要引入這個的js里面首先需要引入hcliuLoad.js
            <script type="text/javascript" src="hcliuLoad.js"></script>
           然后:
          <script>
          /*
          @param url js地址,參數(shù)表版本號
          @param store 表示是否存入localstorage
          @param mode 表示更新模式,只有store為true的時候才有作用,inc 為true表示增量更新,為false表示全亮更新,function是callback函數(shù)

          hcliuRequire.load({"url":"http://test.com/client.js?2013062801002","store":true,"inc":true},function(){alert("load callback!")});
          */
          hcliuLoad.load({"url":"http://test.com/client.js?2013062801002","store":true,"inc":true},function(){alert("load callback!")});
          </script>
          這樣前段會根據(jù)規(guī)則引入client-2013062801001_2013062801002.js或者 client-2013062801002.js
          如果上一個版本有本地存儲,且后三位版本號間隔為1,則引入client-2013062801001_2013062801002.js,并跟老文件合并成新的js,存入本地存儲
          否則引入client-2013062801002.js進行全量更新

          瀏覽 19
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美午夜精品久久久久免费视 | 久久成人亲子一区二区三区四区 | 日韩性爱无码 | 又大又粗又硬免费视频 | 大鸡巴网站免费看 |