博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端进阶(4) - 清理服务器上 webpack 打包的过期 hash 文件
阅读量:5894 次
发布时间:2019-06-19

本文共 857 字,大约阅读时间需要 2 分钟。

清理服务器上 webpack 打包的过期 hash 文件

现在前端的项目基本上都会用 webpack 打包代码,并且文件名(html 文件除外)都是 hash 化的,这样可以去除浏览器的缓存。但是会产生另外一个问题,就是服务器上会堆积大量过期(不会被用到)的 hash 文件,这些文件又主要是 jscss 文件,因为基本上每构建一次都会产生新的 jscss 文件。如果这些文件不清除的话,会大量占用服务器存储空间。

1. 思路

  1. html 文件中读取 css 文件的 hash 值集合;
  2. 然后根据这些 hash 值集合,把 hash 不在这个集合内的 css 文件删掉;
  3. html 文件中读取 js 文件的 hash 值集合;
  4. 然后根据这些 hash 值集合,把不属于动态加载的,并且 hash 不在这个集合内的 js 文件删掉;(动态加载 js 参考 )
  5. 从不属于动态加载的 js 文件中读取动态加载的js 文件的 hash 值集合;
  6. 然后根据这些 hash 值集合,把动态加载的,并且 hash 不在这个集合内的 js 文件删掉;
  7. 从剩下的 html,css,js 文件中读取图片、字体等其他静态资源文件的 hash 值集合;
  8. 然后根据这些 hash 值集合,把 hash 不在这个集合内的静态资源文件删掉。

2. sclean

基于上面这个思路,我封装了一个 npm 包:.

主要有以下几个功能:

  1. 备份服务器文件,因为删除是非常危险的一个操作,所以在每次清除过期文件之前都会备份一次,当然也可以手动备份;
  2. 恢复服务器文件到之前备份的某个状态(用于清除出错之后的恢复操作);
  3. 根据配置进行清除操作,比如自定义目标目录(dist, build),html文件(php, jsp),hash 长度(32, 8)等。

安装

npm install sclean -g

执行清除操作

sclean

详细用法参考 .

3. 后续

更多博客,查看

作者:

版权声明:自由转载-非商用-非衍生-保持署名()

你可能感兴趣的文章
jira 配置 LDAP 访问
查看>>
Canonical发布Ubuntu server 11.10版本
查看>>
企业实践用户邮箱导入/导出(第2部分)
查看>>
我的友情链接
查看>>
nagios搭建(五):nagios监控mysql
查看>>
AIX ftp 530 User root access denied
查看>>
【Java记录】try-with-resources的一个坑
查看>>
如何学习Linux命令-初级篇
查看>>
从Oracle Public Yum为Oracle Linux建立本地的Yum源
查看>>
Android开发——09Google I/O之让Android UI性能更高效(1)
查看>>
在 SELECT 查询中使用表表达式
查看>>
(二) php if语句,switch语句,continue语句,return语句,for 、while、do while 循环
查看>>
edx 获取当前request
查看>>
安卓中如何实现滑动导航
查看>>
Java-金额小数转换成中文大写金额
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
squid.3.2故障整理
查看>>
Ansible Tower安装配置全过程(上)
查看>>
地址与引用
查看>>