vue-cli3使用DllPlugin实现预编译提升构建速度

  

在项目打包上有两个目标:减少打包代码体积和加快打包速度

  

  

(1)对于用的比较少的库,可以去掉(我去掉了jquery以及lodash),用到的地方,参考源码自己写

  

(2)非用不可的又比较大的库(我这里用了monaco-edit),使用cdn方式引入

  

打包体积减少的情况下,自然速度也会有所提升

  

  

我目前做了这些:

  

(1) vue-cli2升级到vue-cli3,顺便webpack2升级到webpack4,构建速度一下子从3分钟左右提升到不到1分钟(vue-cli3升级过程https://www.jb51.net/article/160146.htm

  

(2)使用DllPlugin进行预编译,过程如下:

  

<代码>·,,,npm安装webpack-cli——save-d

  

·,,,独立出一套webpack配置webpack.dll.conf,用dllPlugin定义要打包的dll文件;这里我在根目录下新建webpack.dll.conf.js 内容如下

        const path=要求(“路径”);   const webpack=要求(“webpack”);   模块。出口={   条目:{   供应商:[   “vue-router/dist/vue-router.esm.js”,   “vuex/dist/vuex.esm.js”,   “axios”   ]   },   输出:{   路径:路径。加入(__dirname,“公共/供应商”),   文件名:“[名字].dll.js”,   图书馆:“(名称)_ (hash)”//vendor.dll.js中暴露出的全局变量名   },   插件:[   新webpack.DllPlugin ({   路径:路径。加入(__dirname“公共/供应商”,“[名字]-manifest.json”),   名称:“[名字]_ (hash)”,   背景:process.cwd ()   })   ]   };      

注意;在vue-cli3中一定要把生成的dll放到公众中或者自己去配置publicPath(没仔细看文档掉进坑)

  

·,,,package.json中定义运行webpack.dll.conf.js的命令

        {   ···   "脚本":{   “服务”:“npm链接打印稿,,vue-cli-service服务”,   & lt; strong>:“dll webpack - p——发展——配置。/webpack.dll.conf.js”, & lt;/strong>   ···   },   ···   }      之前      

·,,,运行npm dll运行命令生成dll

  

·,,,index . html中加载生成的dll文件

  

<代码> & lt;脚本src=" https://www.yisu.com/zixun/vendor/vendor.dll.js "祝辞& lt;/script>

  

·,,,以上已经完成预编译并载入;但是一定不要忘记webpack构建时告诉webpack哪些文件已被预编译,使构建过程忽略这些已预编译的文件;

  

具体做法就是在vue.config.js的配置文件中添加

        const webpack=要求(“webpack”);   模块。出口={   ···   configureWebpack: {   插件:[   新webpack.DllReferencePlugin ({   背景:process.cwd (),   清单:要求(“。/公共/供应商/vendor-manifest.json”)   })   ]   }   ···   }      

  

以上所述是小编给大家介绍的vue-cli3使用DllPlugin实现预编译提升构建速度,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

vue-cli3使用DllPlugin实现预编译提升构建速度