在vue项目中因为第三方包,诸如vue,vue-router, axios,vuex都会打包到vendor.js里,vendor.js过大,导致打包速度慢,首页加载慢。
对于打包速度,主要受两点影响:一是处理内容的多少,二是处理步骤的多少。 在实际项目中,第三方库,一般只需要处理一次,不需要每次打包都要处理。
Dll优化
即第三方库预先处理, 实现了拆分 bundles,后续打包不放入vendor.js中,从而大大提升了构建速度。
在实现预处理之前,先介绍下主要用的的两个工具 DLLPlugin 和 DLLReferencePlugin。
DllPlugin
这个插件是在一个额外的独立的 webpack 设置中创建一个只有 dll 的 bundle(dll-only-bundle)。 这个插件会生成一个名为 manifest.json 的文件,这个文件是用来让 DLLReferencePlugin 映射到相关的依赖上去的。
DllReferencePlugin
这个插件是在 webpack 主配置文件中设置的, 这个插件把只有 dll 的 bundle(们)(dll-only-bundle(s)) 引用到需要的预编译的依赖。 通过引用 dll 的 manifest 文件来把依赖的名称映射到模块的 id 上, ,之后再在需要的时候通过内置的 webpack_require 函数来 require
废话不多说,撸起袖子干!!
Dll优化分为两个步骤:
1. 预处理第三方库<