Webpack引入jquery及其插件的几种方法

在做项目的时候,难免会用到jquery,所以还是整理出来,供以后参考。

ProvidePlugin [难以引入插件]

webpack.base.conf.js中,加入以下代码:

const webpack = require('webpack');

module下,加入以下代码:

// 增加一个plugins
plugins: [
  new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery"
  })
]

expose-loader [推荐使用]

npm i expose-loader --save

不需要任何其他的插件配合,只要将下面的代码添加到所有的loader之前
webpack v1:

module: {
  loaders: [
    { test: require.resolve("jquery"), loader: "expose-loader?$!expose-loader?jQuery" },
  ]
}

webpack v2:

module: {
  rules: [{
          test: require.resolve('jquery'),
          use: [{
              loader: 'expose-loader',
              options: 'jQuery'
          },{
              loader: 'expose-loader',
              options: '$'
          }]
      }]
}

最后,去想引入插件的页面加入如下代码:

require("expose-loader?jQuery!expose-loader?$");

包装jquery [推荐使用]

此方法只依赖于自己,完全不需要任何其他插件与加载器,创建jquery的包装对象jquery-vendor.js

import $ from 'jquery'
window.$ = $
window.jQuery = $
export default $

以后引用jquery时指向jquery-vendor.js

import $ from '../assets/jquery-vendor.js'

添加新评论