暴露全局的变量
直接使用 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.$);