shim 预置依赖
webpack
compiler 能够识别遵循 ES2015 模块语法、CommonJS 或 AMD 规范编写的模块。然而,一些 third party(第三方库) 可能会引用一些全局依赖(例如 jQuery
中的 $
)。因此这些 library 也可能会创建一些需要导出的全局变量。这些 "broken modules(不符合规范的模块)" 就是 shim(预置依赖) 发挥作用的地方
但是不推荐使用全局依赖,因为webpack的目的就是为了模块化
plugins: [
new webpack.ProvidePlugin({
_: 'lodash'
})
],
假如:加载lodash,这里会进行全局注册,不需要重新引入。
全局export
其中exports需要自己额外安装,总的来说,全局安装并不推荐