Webpack3如何实现React16长尾词代码的动态分割?

2026-04-09 12:500阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1240个文字,预计阅读时间需要5分钟。

Webpack3如何实现React16长尾词代码的动态分割?

项目背景:最近项目中有一个webpack版本较老的工程,由于升级和框架更换,暂时未获得leader层批准o(╯︵╰︶)o,因此只能在现有条件下进行优化。

webpack版本:webpack3 + react16

webpack+v3配置检查:明显地,项目的配置是从webpack配置开始的。

项目背景

最近项目里有个webpack版本较老的项目,由于升级和换框架暂时不被leader层接受o(╥﹏╥)o,只能在现有条件进行优化。

webpack3 + react16

webpack v3配置检查

很明显项目的配置是从v1继承过来的,v1->v3的升级较为简单,参考官网webpack.js.org/migrate/3/即可。

loaders变为rules
不再支持链式写法的loader,json-loader不需要配置
UglifyJsPlugin插件需要自己开启minimize

分析现有包的问题

使用webpack-bundle-analyzer构建包后,如图

问题非常明显:

除了zxcvbn这个较大的包被拆出来,代码就简单的打包为了vender和app,文件很大。

动态import拆分vender

分析vender的代码,某些大包,例如libphonenumber.js,使用场景不是很频繁,将它拆出来,当使用到相关特性时再请求。

阅读全文
标签:实现项目

本文共计1240个文字,预计阅读时间需要5分钟。

Webpack3如何实现React16长尾词代码的动态分割?

项目背景:最近项目中有一个webpack版本较老的工程,由于升级和框架更换,暂时未获得leader层批准o(╯︵╰︶)o,因此只能在现有条件下进行优化。

webpack版本:webpack3 + react16

webpack+v3配置检查:明显地,项目的配置是从webpack配置开始的。

项目背景

最近项目里有个webpack版本较老的项目,由于升级和换框架暂时不被leader层接受o(╥﹏╥)o,只能在现有条件进行优化。

webpack3 + react16

webpack v3配置检查

很明显项目的配置是从v1继承过来的,v1->v3的升级较为简单,参考官网webpack.js.org/migrate/3/即可。

loaders变为rules
不再支持链式写法的loader,json-loader不需要配置
UglifyJsPlugin插件需要自己开启minimize

分析现有包的问题

使用webpack-bundle-analyzer构建包后,如图

问题非常明显:

除了zxcvbn这个较大的包被拆出来,代码就简单的打包为了vender和app,文件很大。

动态import拆分vender

分析vender的代码,某些大包,例如libphonenumber.js,使用场景不是很频繁,将它拆出来,当使用到相关特性时再请求。

阅读全文
标签:实现项目