Hybird 離線資源生成工具

2021-09-16 21:38:20 字數 2378 閱讀 5112

離線資源的生成,我們提供了乙個工具可以打包出增量和全量公升級包。原理是根據git diff去比較兩次commit,然後只關注offlineresource(與dist目錄平級,發布包需要把dist目錄內容拷貝到offlineresource) 目錄下的兩次提交的檔案差別,從而打出增量包。全量包就是整個offlineresource目錄。

offlineh5安裝方法:

npm install -g offlineh5
使用方式:

offlineh5 -o package -r   -f e24b8f0bb9a85c93c6965a906c1ea0448342821a -u gitusername -p gitpassword -z activity
引數說明:

-o 資源包輸出路徑

-r 倉庫位址

-u git 使用者名稱

-p git 使用者密碼

-f 從哪個 commit 匯出增量包

-z 打出來的資源包字首

打出來的離線資源包需要放到七牛 cdn 儲存:

之前前端打包只把html,js,css匯出到offlineresource目錄下,沒有,因為都放在cdn上,本地就沒有任何的原始,這樣導致三個問題:

node指令碼打出來的離線資源包並不包含。

即使找到了原始,並不能保證原始的本地路徑和cdn上的是一致的。

線上現有cdn一級路徑比較混亂。

線上現有路徑。

使用qtool指令碼獲取cdn上的所有,存放到本地作為原始,根據模組規範原始的路徑。比如le-activityactivity需要統一成activity

前端打包不僅輸出html,js,css,同時每次打包需要把原始拷貝到dist目錄下。同時發布流程需要把dist目錄內容拷貝到offlineresource目錄下。

根據offlineresource目錄,使用qtool指令碼使用該目錄下的所有資源路徑作為cdn key,然後把所有資源上傳到cdn上。以後前端在打包之前開發的時候,完全可以使用本地的路勁作為相對路徑提前配置路徑,而不用考慮cdn的上傳路徑問題。

調整後,offlineh5打包指令碼可以根據offlineresource目錄下的不同的commitdiff出兩個版本之間差別,從而打出增量包和全量包。

使用 qtool

qtool安裝方法:

npm install -g qtool
上傳資源:

qtool upload  -f uploadfolder -a rsxpqixnis2vo0vuqr3hx701dds9fdlunq5jv8ul -s xclwczc5v5kyy7h85mnknycxt4wx9k5ozt7ydvfk -b mybucket -k activity -h olf3t4olk.bkt.clouddn.com
qtool download  -f downloadfolder -a rsxpqixnis2vo0vuqr3hx701dds9fdlunq5jv8ul -s xclwczc5v5kyy7h85mnknycxt4wx9k5ozt7ydvfk -b mybucket -k activity -h olf3t4olk.bkt.clouddn.com
引數說明:

-k, --keypreffix 上傳的時候,字首會插入到 key 的前面。

-a, --accesskey access key 七牛官網獲取

-s, --secretkey secret key 七牛官網獲取

-h, --hosturl 七牛 host url,比如:

TRX離線簽名 離線生成位址

波場代幣遷移說明 trx的erc20代幣遷移至波場主網代幣.廢話不多說 不明白的可以看下上面的公告 快捷生成trx位址 return throws invalidalgorithmparameterexception throws nosuchalgorithmexception throws no...

離線安裝htop工具

htop眾所周知是是一款強大的是linux系統中的乙個互動的程序檢視器 作為top的替代品 乙個文字模式的應用程式 在控制台或者x終端中 一般情況下一句yum install htop就能輕鬆安裝,但是很多時候我們會遇到無法連線外網的情況。htop官網 但是htop安裝的前提還需要乙個依賴 ncur...

生成 Django離線官方文件

3 前兩步完成後,就可以生成html文件了,dos命令列執行 sphinx build c django x x x docs c django docs 說 明一下,c django x x x docs是django的安裝包裡的docs目錄 c django docs 是你想生成到的哪個目錄,如...