快速将Vue项目升级到webpack3的方法步骤

2020-06-13 10:29:42易采站长站整理

前言

由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大。因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能对比,如下:

测试目标

以下数据是2天随机时段3部手机各2组数据,每组数据都是30次取平均值,为了测试js的解析能力,排除了网络请求的影响

平台:M5 Note Build/MRA58K

系统:android 6.0

时间beforeafter
2017-08-10 13:00920511
2017-08-11 11:10915543

平均提升:42.55%

平台:MI 3C Build/KTU84P

系统:Android 4.4.4

时间beforeafter
2017-08-13 15:00648365
2017-08-14 17:10648377

平均提升:42.74%

平台:SM901 Build/MXB48T

系统:Android 6.0.1

时间beforeafter
2017-08-13 18:00593393
2017-08-14 15:50575392

平均提升:32.75%

以上数据,提升比例虽然有所差距,但是,最后的结果,都表明……你应该毫不犹豫的升级你的 webpack了。

问题来了,如何能快速且平滑的升级你的 webpack呢?这是我们今天的重点,前面都是铺垫,哈哈

升级webpack3

今天只以 vue项目来举例, vue-cli升级 w3简直不要太快哦,而且也有项目上线成功了,并且线上测试与本地测试结果基本一致。如果使用的是 react项目,用的又是脚手架的话,那么恭喜你,跟 vue-cli一样快,可参考 vue-cli的升级方式,如果你自己写的 w2的话加一个配置(可以体验跟 vue-cli一样的升级体验哦),然后升级相应扩展:


new webpack.optimize.ModuleConcatenationPlugin()

如果是自己写的 w1的话,对不起,你只能去哭着对比 w3和 w1的语法兼容修改配置文件了,网上有详细的语法对比,这里就不详述了

步骤

下载最新的的 vue-cli,初始化一个新项目 tow3
把你的 src 目录下的业务代码拷贝到新建的 tow3 项目中 src 路径替换了
把 config/index.js 更细成你自己项目的,这里需要注意的是, webpack3此文件的配置和 webpack1、2都不太一样,所以仔细比对,只修改一样的配置项
在 build/webpack.prod.conf.js 配置里文件里的加上如下配置,这是 webpack3升级的最核心功能(加在这个文件时因为我生产环境不需要),如果本身打包策略做了优化,那么就需要对造 webpack3的最新语法进行修改迁移了