【webpack】hard-source-webpack-plugin使用缓存记录

前言

  • 最近用公司内部脚手架时发现启动速度过慢,于是使用hard-source插件进行优化速度。由此发现该插件并不是每次都使用缓存,于是探究了一番。

缓存判断

  • 使用该插件后,是否使用了缓存可以看一开始会提示有几句话,如果有这句提示:
[hardsource:10a7cc70] Deleted 205 MB. Using 0 MB of disk space.
[hardsource:10a7cc70] Tracking node dependencies with: package.json.
[hardsource:10a7cc70] Reading from cache 10a7cc70...
  • 如果提示:
[hardsource:4e87b6be] Writing new cache 4e87b6be...
[hardsource:4e87b6be] Tracking node dependencies with: package.json.
  • 表示使用新缓存中。

无法使用缓存原因

  • 该插件无法使用缓存的主要原因是配置变动,插件中有个属性可以获取到webpack配置,可以使用下面网站将配置粘贴进去看第一次打包与第二次打包有什么不同:
  • https://www.diffchecker.com/diff
  • 比如我在使用时就发现output.jsonpfunction的名字是个动态值,于是将其固定住则可以使用缓存。
   configHash: function (webpackConfig) {
    
    
            return require('node-object-hash')({
    
     sort: false }).hash(webpackConfig);
          }
  • 另外就是锁文件的变化,默认会判断锁,如果不用锁而是看pkg.json那么也可以通过api修改:
  environmentHash: {
    
    
            root: process.cwd(),
            directories: [],
            files: ['package.json'],
          },

猜你喜欢

转载自blog.csdn.net/yehuozhili/article/details/121073633