如何防止第三方插件块每次编译?

时间:2016-12-02 11:13:35

标签: javascript jquery webpack webpack-2

我有一个公共文件common.js需要一个jQuery插件作为异步块。

function init($elm) {
  // loaded select2 lib if needed
  if (!$.fn.select2) {
    require.ensure([], function () {
      require('./path/to/select2.js');
      $elm.select2();
    }, 'select');
    return $elm;
  }

  $elm.select2();
  return $elm;
}

if ($('.js-select2').length) {
    init($('.js-select2'));
}

并且webpack可以生成chunk.common.jschunk.select.js,如果需要,它会加载chunk.common.js然后加载chunk.select.js

但我的问题是每次编辑base.jschunk.common.jschunk.select.js编译。如何将chunk.select.js作为一个不应该每次编译的常见块。

我的webpack配置如下

module.exports = {
  entry: {
    common: './common.js',
  },
  output: {
    path: 'dist/js/',
    publicPath: 'js/',
    filename: 'chunk-[name].js',
    chunkFilename: 'lib/chunk-[name].js'
  },
  plugins: [
    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery'
    })
  ]
};

0 个答案:

没有答案