javascript Webpack中的匀场

9wbgstp7  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(131)

我正在阅读Webpack的官方文档中的匀场,但我仍然无法理解它的含义?
由于我是Webpack的新手,我也尝试过做一些RND,但我无法从中得到正确的答案。我对Shimming有几个问题,如下所示:

  • 什么是Shimming
  • Shimming实际上是做什么的?
  • 为什么webpack中需要Shimming
  • 它是如何工作的?
  • Shimming的利弊。

如果有人知道,即使是上面提到的问题的答案很少,请让我知道。

mv1qrgav

mv1qrgav1#

一些库依赖于全局变量,例如,一个jQuery插件可能期望全局变量“$”可用。
如果不使用ProvidePlugin填充该变量,您将得到错误$ is not defined
简单地说,shimming会用require('jquery')替换JavaScript模块中的所有全局$变量,在一些遗留库中,您还需要shimming jQuerywindow.$,因为插件只执行基本的文本替换。
您只需要对库或任何您无法控制的代码进行填充。在应用程序模块中,您应该使用import $ from 'jquery'导入jQuery,并避免使用全局变量。

相关问题