您當前位置>首頁 » 新聞資(zī)訊 » 小程序相關(guān) >
通(tōng)過 WeCOS 進行小程序瘦身
發表時間:2021-3-31
發布人:葵宇科技
浏覽次數:49
盡管 4 月(yuè)份微信官方将小程序的大小限制從 1M 放開到 2M,但是對于使用大量圖片的小程序(電商(shāng)等)來說,2M 的限制還是顯得拮據。基于這種場景,騰訊雲微信小程序解決方案團隊開發了 WeCOS 小程序瘦身工具,依托騰訊雲強大的雲對象儲存(COS),提供自動(dòng)将小程序内部的圖片自動(dòng)上傳到 COS,并将圖片的相對路(lù)徑改為線上 URL,這樣就可(kě)以大大的縮減小程序的大小,并且無需過多繁瑣的上傳步驟。
現在我們就一起來看看如(rú)何使用吧!假設我們有一個(gè)開發好的小程序開發目錄 App,目錄大小為10M。目錄下(xià)有大量圖片且代碼中(zhōng)有對圖片資(zī)源的引用。為了能夠上傳并正常運行項目代碼,下(xià)面來示範如(rú)何使用騰訊雲 WeCOS 來解決項目包過大的問(wèn)題。項目目錄如(rú)圖。
接下(xià)來隻需要 3 步,就可(kě)以完成小程序瘦身。
一、前期準備
1. 注冊騰訊雲賬号,開通(tōng)COS 并創建 Bucket。
2. 在本機上安裝 Node.js 。
二、安裝 WeCOS 并創建配置
打開命令行(開始-運行-CMD-回車(chē)),使用 NPM 安裝 WeCOS。如(rú)圖所示:
npm install wecos -g
在與開發目錄 app
同目錄下(xià)創建一個(gè) wecos.config.json
配置文(wén)件,在配置裡填寫基本的配置信息。
wecos.config.json
裡填寫了最基本的配置項。 其中(zhōng),
appDir
指定了小程序開發目錄。appid
為騰訊雲賬号的appid。bucketname
是為存儲圖片創建的 bucket 的名稱,這裡是名為weixintest
的 bucket。folder
可(kě)以指定到 bucket 下(xià)的某個(gè)目錄,本文(wén)指定到 /wxtest 目錄下(xià)。region
是指定上傳到 COS 的指定地區,這裡指定為tj
,即天津。目前COS 支持天津、上海、廣州。secret_key
、secret_id
是賬戶密鑰,用戶可(kě)以自行到騰訊雲 COS 控制台上獲取。
以上信息指定了開發目錄以及圖片要上傳到的 COS 的地址,完成這些配置,基本上已經完工。
三、運行瘦身工具
在命令行中(zhōng)執行 wecos
命令。
可(kě)以看到,命令行顯示項目中(zhōng)的三個(gè)圖片上傳成功。翻看項目目錄,發現圖片已經被删除,代碼中(zhōng)的圖片引用也被換成了線上的地址,項目包一下(xià)子(zǐ)小了。同時,WeCOS 很貼心的在開發項目外生成了個(gè) wecos_backup
目錄,來保存原來的圖片作為備份。除此之外,WeCOS 默認啟用監聽模式,這是為了讓開發過程中(zhōng)無感知,當我們不再進行項目開發,停止運行 WeCOS 即可(kě)。
被處理後的整個(gè)項目目錄隻剩下(xià)不到5KB,用微信小程序開發者工具預覽小程序發現除了圖片部分的更改,其他部分跟處理之前沒有什麼差别。此時,可(kě)以重新上傳我們的小程序代碼,代碼很順利的上傳成功了。
到這裡我們的瘦身也就基本完成了,但是 WeCOS 的能力還不僅于此,還有一些 高級功能 歡迎你(nǐ)來探索:
設置圖片後綴
有些時候,我們需要限制上傳圖片的格式,例如(rú)隻允許 jpg 格式,可(kě)以通(tōng)過WeCOS提供的圖片後綴配置項來定義 WeCOS默認支持 jpg,png,gif 三種格式,假如(rú)還需要添加其他格式,例如(rú) webp,可(kě)以在該配置項中(zhōng)添加
"uploadFileSuffix": [".jpg",".png",".gif",".webp"]
設置圖片黑名單
開發過程中(zhōng),某些特定的圖片我們不希望被上傳,可(kě)以通(tōng)過 WeCOS 的黑名單配置來解決這個(gè)問(wèn)題,配置後上傳程序會自動(dòng)忽略掉這些圖片 黑名單配置支持目錄或具體到文(wén)件名的寫法:
"uploadFileBlackList": ["./images/logo.png", "./logo/"]
自定義域名
如(rú)果希望 COS 文(wén)件鍊接使用自定義的域名,可(kě)以配置 targetHost
代替默認域名,可(kě)以省略 http://
:
"targetHost": "http://example.com"
如(rú)果代碼中(zhōng)的圖片鍊接想換一個(gè)域名,可(kě)以配置 replaceHost targetHost 來實現。
"replaceHost": "http://wx-12345678.myqcloud.com
",
"targetHost": "https://example.com
"
開啟圖片壓縮
圖片上傳到 COS 之後雖然大大減輕了程序包的大小,但如(rú)果圖片自身體積過大,訪問(wèn)速度也會影響到用戶體驗 WeCOS 還額外提供了基于騰訊雲萬象優圖的圖片壓縮功能。首先,需要在萬象優圖控制台創建 COS 的同名 bucket。然後,開啟該選項,資(zī)源将被壓縮後上傳(注:如(rú)果圖片已經小到一定程度,壓縮後大小可(kě)能不會變化)
"compress": true
設置實時監聽
WeCOS 默認實時監聽項目目錄變化,自動(dòng)處理圖片資(zī)源,在開發過程中(zhōng),如(rú)果覺得實時監聽不方便,或者隻需要一次性處理就停止,可(kě)以修改該配置,程序将隻會執行一次後退出
"watch": false
原創聲明,本文(wén)系作者授權雲+社區-專欄發表,未經許可(kě),不得轉載。
如(rú)有侵權,請聯系zhuanlan_guanli@qq.com删除。
編輯于 5 小時前