暴露全局的变量
直接使用 cdn 的方式(常用)
- add-asset-html-cdn-webpack-plugin -D
externals: {
'jQuery': '$', // $ 外部变量,不需要打包
},
new addAssetCdnPlugin(true,{
'jQuery': "https://code.jquery.com/jquery-3.4.1.min.js",
})
providePlugin 给每个模块注入变量
- npm install lodash -D (JS 工具库)
new webpack.ProvidePlugin({
'$$': 'jquery' , // $ 来自于 jquery,每个模块都注入 $,但不是注入全局
'_map': ['lodash','map'],
}),
暴露在全局下 expose-loader
- npm install expose-loader -D
// 方式一:
module: {
rules:[
{
test: require.resolve('jquery'),
use: {
loader: 'expose-loader',
options:'$$'
},
}
]
},
// 方式二:
require('expose-loader?$!jquery') // jquery 放在全局的 $ 符上
console.log($,window.$);