Webpack 的确定性模块 ids 优化

Webpack's deterministic modules ids optimization

在 webpack 的 doc modules id 中说

长期缓存是什么意思?

例如我有这个:

  /***/ 812:
      /*!******************!*\
  !*** ./testA.js ***!
  \******************/
      /***/ function () {
        console.log("hello");
        /***/
      },

我知道模块 ID 812 在编译更改(例如导入其他模块)期间将保持不变 e.t.c,但我忽略了缓存角色的要点。是浏览器缓存的意思吗?

我认为本指南是您的答案,它在第一部分解释了为什么需要它: https://webpack.js.org/guides/caching/

... browsers use a technique called caching. This allows sites to load faster with less unnecessary network traffic...

... configuration needed to ensure files produced by webpack compilation can remain cached unless their content has changed.

“浏览器对单独的文件使用缓存,而不是对同一文件内的内联模块。– 缺口 9 月 16 日 14:47"

如果模块 ID 在编译之间发生变化,则尝试从新编译的文件加载缓存文件中的模块,反之亦然。

浏览器可能不关心内部模块 ID,但这些内部模块 ID 仍然需要匹配 webpack 块(文件)之间的连接。