清除npm缓存_清除node缓存
上webpack打包的过期hash文件如何进行清理
使用 npm 安装这个插件本篇文章给大家带来的内容是关于上webpack打包的过期hash文件如何进行清理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
清除npm缓存_清除node缓存
清除npm缓存_清除node缓存
现在前端的项目基本上都会用 webpack 打包代码,并且文件名(html 文件除外)都是 hash 化的,这样可以去除浏览器的缓存。但是会产生另外一个问题,就是上会堆积大量过期(不会被用到)的 hash 文件,这些文件又主要是 js 和 css 文件,因为基本上每构建一次都会产生新的 js 和 css 文件。如果这些文件不清除的话,会大量占用存储空间。
1. 思路1、从 html 文件中读取 css 文件的 hash 值;
3、从 html 文件中读取 js 文件的 hash 值;
4、然后根据这些 hash 值,把不属于动态加载的,并且 hash 不在这个内的 js 文件删掉;(动态加载 js 参考 dynamic-imports)
5、从不属于动态加载的 js例如:我希望将全模块所在路径和缓存路径放在我node.js安装的文件夹中,则在我的安装目录下创建两个文件夹【node_global】及【node_cache】。 文件中读取动态加载的js 文件的 hash 值;
6、然后根据这些 hash 值,把动态加载的,并且 hash 不在这个内的 js 文件删掉;
8、然后根据这些 hash 值,路人C:学到了【抱拳】把 hash 不在这个内的静态资源文件删掉。
2. sclean基于上面这个思路,我封装了一个 npm 包:sclean.
主要有以下几个功能:
1、备份文件,因为删除是非常危险的一个作,所以在每次清除过期文件之前都会备份一次,当然也可以手动备份;
3、根据配置进行清除作,比如自定义目标目录(dist, build),html文件(php, jsp),hash 长度(32, 8)等。
npm install sclean -g执行清除作
sclean
离线npm install 解决方案 内网环境搭建项目
内网使用 npm i 网上的建议都是使用npm 缓存,我试过不好用7、从剩下的 html,css,js 文件中读取、字体等其他静态资源文件的 hash 值;还难搞。
ps:有些奇怪的问题,有的node_modules无法压缩?(个例)
路人A:上面的方法挺好用的。
路人B:博主注:1、在安装路径D:Program Files真帅。
路人D:就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?就这?
如何用webpack实现静态资源拦截替换
这个插件可以帮助生成 HTML 文件,在 body 元素中,使用 script 来包含所有自己的 webpack bundles,只需要在自己的 webpack 配置文件中如下配置:compress:{
问题描述:不知道什么原因,在公司安装新项目环境的时候,npm无故丢失,一直报错warnings: false
2、然后根据这些 hash 值,把 hash 不在这个内的 css 文件删掉;}}),
new htmlWebpackPlugin({ // webpack 指定目录(package内设置)生成静态HTML文件
title: "自动生成网页标题",
filename: "test.html",
template: "temIndex.html",
inject: true, // | 'head' | 'body' | false ,注入所有的资源到特定的 template 或者 templateContent 中,如果设置为 true 或者 body,所有的 jascript 资源将被放置到 body 元素的底部,'head' 将放置到 head 元素中。
})
]Installation
Basic Usage
var HtmlWebpackPlugin = require('html-webpack-plugin')
entry: 'index.js',
output: {
filename: 'index_bundle.js'
},
plugins: [new HtmlWebpackPlugin()]
}这将会自动在 dist 目录中生成一个名为 index.html 的文件,内容如下: