DllPlugin优化webpack打包,打出来的包更大了

我使用DllPlugin优化打包,打包后的dll.js文件有810kb,还有vendor.js 264kb;而且时间只快了3秒

图片描述
但是在没有用DllPlugin的时候,vendor.js一共才513kb
图片描述
我的element-ui是按需引入的,不知道这个和用DllPlugin打包有没有关系

另外还想问下npm run build的时候,如下图,这里等待的时间很长才会出现 / building for production 这个,这里是为什么呢?
图片描述

webpack.dll.conf.js如下:

const path = require('path');
const webpack  = require('webpack');

module.exports = {
  entry: {
    vendor: [
        'vue',
        'vue-router',
        'vuex',
        'axios',
        'element-ui',
        'qs',
        'signalr'
    ]
    // polyfill:['core-js/fn/promise','whatwg-fetch']
  },
  output: {
    path: path.join(__dirname, '../static/dll'),
    filename: '[name].dll.js',
    library: '[name]_library',
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin({ // uglifjs压缩
        compress: {
            warnings: false
        }
    }),
    new webpack.DllPlugin({
      path: path.join(__dirname, 'dll', '[name]-manifest.json'),
      name: '[name]_library', // 需要和output.library值保持一致
      context: __dirname
    })
  ]
};
阅读 2.9k
1 个回答

按需加载element-ui的不要放在dll里面,因为这个只是打包npm包,他不执行按需加载,dll里面一般放入一些固定不频繁修改的npm包

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进