1

我有一个通用文件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.js并且chunk.select.js它会在需要时加载chunk.common.js然后加载。chunk.select.js

但我的问题是每次我base.js都编辑chunk.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'
    })
  ]
};
4

0 回答 0