首頁  >  文章  >  web前端  >  伺服器上webpack打包的過期hash檔案如何進行清理

伺服器上webpack打包的過期hash檔案如何進行清理

不言
不言原創
2018-09-17 14:28:102065瀏覽

這篇文章帶給大家的內容是關於伺服器上webpack打包的過期hash檔案如何進行清理,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

現在前端的專案基本上都會用 webpack 打包程式碼,而且檔案名稱(html 檔案除外)都是 hash 化的,這樣可以移除瀏覽器的快取。但是會產生另一個問題,就是伺服器上會堆積大量過期(不會被用到)的 hash 文件,這些文件又主要是 js 和 css 文件,因為基本上每構建一次都會產生新的 js 和 css 文件。如果這些檔案不清除的話,會大量佔用伺服器儲存空間。

1. 想法

1、從html 檔案讀取css 檔案的hash 值集合;

2、然後根據這些hash 值集合,把hash 不在這個集合內的css 檔案刪掉;

3、從html 檔案讀取js 檔案的hash 值集合;

4、然後根據這些hash 值集合,把不屬於動態載入的,並且hash 不在這個集合內的js 檔案刪掉;(動態載入js 參考dynamic-imports)

5、從不屬於動態載入的js 檔案中讀取動態載入的js 檔案的hash 值集合;

6、然後根據這些hash 值集合,把動態載入的,並且hash 不在這個集合內的js 檔案刪掉;

7、從剩下的html,css,js 文件中讀取圖片、字體等其他靜態資源檔的hash 值集合;

8、然後根據這些hash 值集合,把hash 不在這個集合內的靜態資源檔刪掉。

2. sclean

基於上面這個思路,我封裝了一個npm 套件:sclean.

#主要有以下幾個功能:

1、備份伺服器文件,因為刪除是非常危險的操作,所以在每次清除過期文件之前都會備份一次,當然也可以手動備份;

2、恢復伺服器文件到之前備份的某個狀態(用於清除出錯之後的恢復操作);

3、根據配置進行清除操作,例如自訂目標目錄(dist, build),html檔案(php, jsp),hash 長度(32, 8)等。

安裝

npm install sclean -g

執行清除操作

sclean

以上是伺服器上webpack打包的過期hash檔案如何進行清理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn