前端必知必会,你不知道的前端

webpack 优化之 DllPlugin

2019-06-03  本文已影响1人  赵永盛

作用: 直接引用打包好的第三方包, 不用每次再打包

假设项目中使用了 vue, vue-router, element-ui

首先需要创建 webpack.dll.conf.js:
const path = require('path')
const webpack = require('webpack')

module.exports = {
  entry: {
    vue: ['vue', 'vue-router'],
    ui: ['element-ui']
  },

  output: {
    path: path.join(__dirname, '../src/dll'),
    filename: '[name].dll.js',
    library: '[name]'
  },

  plugins: [
    new webpack.DllPlugin({
      path: path.join(__dirname, '../src/dll', '[name]-manifest.json'),
      name: '[name]'
    }),

    new webpack.optimize.UglifyJsPlugin()
  ]
}

然后 webpack --config ./build/webpack.dll.conf.js 打包:

上述是打包好后的代码,如何使用呢?

使用 DllReferencePlugin

在 build/webpack.config.js 中添加下列插件:


打包结果:


实测打包时间为原来的四分之一,当然项目大可能没这么明显,但是效果是显著的。

上一篇 下一篇

猜你喜欢

热点阅读