webpack-webpackConfig-plugin 配置

ProvidePlugin

  • 语法:
module.export = {
    plugins: [
         new webpack.ProvidePlugin({
             $: 'jquery',
             jQuery: 'jquery',
             'window.jQuery': 'jquery',
             'window.$': 'jquery',
        }),
    ]
}
  • 作用:

rovidePlugin的机制是:当webpack加载到某个js模块里,出现了未定义且名称符合(字符串完全匹配)配置中key的变量时,会自动require配置中value所指定的js模块

使用ProvidePlugin还有个好处,就是,你自己写的代码里,再!也!不!用!require!jQuery!啦!

延伸:

{
  test: require.resolve('jquery'), // 此loader配置项的目标是NPM中的jquery
  loader: 'expose?$!expose?jQuery', // 先把jQuery对象声明成为全局变量`jQuery`,再通过管道进一步又声明成为全局变量`$`
},

有了ProvidePlugin为嘛还需要expose-loader?

如果你所有的jQuery插件都是用webpack来加载的话,的确用ProvidePlugin就足够了;

不过总有那么些需求是只能用

你可能感兴趣的:(webpack-webpackConfig-plugin 配置)