- 通过
expose-loader
进行全局变量的注入 - 可以使用内置插件
webpack.ProvidePlugin
对每个模块的闭包空间,注入一个变量自动加载模块,而不必到处import
或require
。
expose-loader 将库引入到全局作用域
安装
npm i expose-loader -D
配置 loader
module: {
rules: [
{
test: require.resolve('jquery'),
use: {
loader: 'expose-loader',
options: '$'
}
}
]
}
:::warning
require.resolve()
用来获取模块的绝对路径,所以这时的loader只会作用于jQuery模块,并且只在bundle使用到它时,才进行处理。
:::
webpack.ProvidePlugin 将库自动加载到每个模块(推荐)
引入 webpack
const webpack = require('webpack')
创建插件对象
要自动加载 jquery, 我们可以将两个变量都指向对应的 node 模块。
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})