webpack构建速度优化-记录一次公司项目build优化(不完全记录)仅供翻阅参考

打包速度 转化AST—>遍历树—>转化回代码(具体语法配置参考webpack,这边只是个人的一些过程记录,并不包含详细过程)
1、缓存 cache-loader
2、多核 happypack threads
3、抽离 DllPlugin、externals
4、拆分 Docker

优化项目:测量插件speed-measure-webpack-plugin

用法:

优化前:可以看到我们公司的项目还是比较残暴的!!开启AOT(Angular5项目)之后,线上构建达到了41分钟!

测量出现的问题:raw-loader、css-loader、sass-loader、file-loader、to-string-loader等loader报红,优先处理。
由于raw-loader、file-loader使用 cache-loader有问题,暂时不处理这两个loader的缓存

1、开启相对费时间,开销大的loader进行缓存处理,这边用到了webpack的cache-loader。

2、使用happypack开启多线程 对开销较大的模块进行翻译。以及UglifyJsPlugin开启cache和parallel提高压缩效率。

id即为对应的loader表示,对应happypack/loader?id=xxx即可,如果想同时开启cache-loader和happypack,在loaders前加入即可,如[‘cache-loader‘,...loaders]

3.使用DllPlugin动态链接库把开销较大的第三方库抽离出来,并且在webpack.prod.config.js使用DllReferencePlugin引入即可。

ps: 我这边不知道为什么死活报can‘t resolve ....modules报错,故此没解决这个问题。但是思路是这个样子的。等下次再试试。

参考:https://juejin.im/post/5bceb2e8e51d457ac752f878

最后的结果!!develop、test环境因为没有开启AOT模式,如果没有提交功能性迭代代码,由平常的7分钟提升到2分50秒!!

而不幸的是,框架因为用的是Angular5版本,并没lvy,Angular v6 的新一代渲染器,因为打包的速度达到41分钟!优化完之后到达了30分钟左右。可见做了这些效果还是很明显的。

希望以后能进一步优化!

原文地址:https://www.cnblogs.com/chenfengami/p/12623876.html

时间: 2024-10-09 17:23:11

webpack构建速度优化-记录一次公司项目build优化(不完全记录)仅供翻阅参考的相关文章

kinect2跑高博的orbslam2的过程(仅供自己参考记录)

首先感谢高博的无私奉献!http://www.cnblogs.com/gaoxiang12/p/5161223.html 程序所在的目录为:/home/zty/catkin_ws/src/iai_kinect2/kinect2_viewer /src/kinect2_orb.cpp为修改的程序文件 /include/目录下面的头文件即为ORB_SLAM2/目录里面的头文件, kinect2_orb.cpp中将原来的#include "orbslam2/System.h"改为现在的#in

Vue实战记录(1)---仅供自己参考

2019.10.1------底部标签栏 1.公共组件标签栏使用vant的Tabbar标签栏 首先需要安装vant依赖并在main.js里面按需引入 不要永远只写静态布局,把标签元素里面使用的属性存在组件的data里面(数组里面存放对象,方便获取),利用v-for以及属性绑定的方式生成页面结构.              2.编程式导航实现路由的跳转 这个vant标签栏自带to属性实现路由跳转 我们自己运用编程式的方式实现(这个标签栏自带change事件切换标签时触发) change事件方法实现

【Webpack 构建技巧】你们尽管尝试,没提速算我输!

Web 应用日益复杂,相关开发技术也百花齐放,这对前端构建工具提出了更高的要求.Webpack 从众多构建工具中脱颖而出,成为目前最流行的构建工具,可以说是前端开发的必备工具之一.然而,很多童鞋在使用 Webpack 的过程中,都会遇到构建速度慢的问题,在项目大时更是尤为突出.这极大的影响了我们的开发体验,降低了开发效率.该怎么破?今天,我们就来一起学习几个加速 Webpack 构建的技巧: 通过多进程并行处理 使用 HappyPack 使用 ParallelUglifyPlugin 缩小文件搜

Webpack编译速度优化实战

当你的应用的规模还很小时,你可能不会在乎Webpack的编译速度,无论使用3.X还是4.X版本,它都足够快,或者说至少没让你等得不耐烦.但随着业务的增多,嗖嗖嗖一下项目就有上百个组件了,也是件很简单的事情.这时候当你再独立编前端模块的生产包时,或者CI工具中编整个项目的包时,如果Webpackp配置没经过优化,那编译速度都会慢得一塌糊涂.编译耗时10多秒钟的和编译耗时一两分钟的体验是迥然不同的.出于开发时的心情的考虑,加上不能让我们前端的代码编译拖累整个CI的速度这两个出发点,迫使我们必须去加快

优化Webpack构建性能的几点建议

Webpack 作为目前最流行的前端构建工具之一,在 vue/react 等 Framework 的生态圈中都占据重要地位.在开发现代 Web 应用的过程中,Webpack 和我们的开发过程和发布过程都息息相关,如何改善 Webpack 构建打包的性能也关系到我们开发和发布部署的效率. 以下是一些关于优化 Webpack 构建性能的几点建议: 一.选择合适的 Devtool 版本 webpack 的 devtool 配置,决定了在构建过程中怎样生成 sourceMap 文件.通常来说eval的性

Android 优化APP 构建速度的17条建议

较长的构建时间将会减缓项目的开发进度,特别是对于大型的项目,app的构建时间长则十几分钟,短则几分钟,长的构建时间已经成了开发瓶颈,本篇文章根据Google官方文档,加上自己的一些理解提供一些提升app构建速度的优化建议. 1,为开发环境创建一个变体 有许多配置是你在准备app的release 版本的时候需要,但是当你开发app的时候是不需要的,开启不必要的构建进程会使你的增量构建或者clean构建变得很慢,因此需要构建一个只保留开发时需要配置的变体,如下例子创建了一个dev和prod变体(pr

深入浅出的webpack构建工具---DllPlugin DllReferencePlugin提高构建速度(七)

阅读目录 一:什么是DllPlugin 和 DllReferencePlugin?作用是什么? 二:在项目中如何使用 DllPlugin 和 DllReferencePlugin? 三:DllPlugin DllReferencePlugin使用在vue和vuex项目中 回到顶部 一:什么是DllPlugin 和 DllReferencePlugin?作用是什么? 在使用webpack进行打包时候,对于依赖的第三方库,比如vue,vuex等这些不会修改的依赖,我们可以让它和我们自己编写的代码分开

webpack 提升90%的构建速度 HardSourceWebpackPlugin

HardSourceWebpackPlugin 插件 不能提升第一次构建的速度,但对于第二次构建能提升99%的构建速度 第一次构建: 第二次: 提升了..,算不出来,反正就是很多啦~~~ npm install --save hard-source-webpack-plugin // webpack.config.js var HardSourceWebpackPlugin = require('hard-source-webpack-plugin'); new HardSourceWebpac

webpack 构建优化思路

按需加载第三方库 示例:lodash lodash-webpack-plugin external 入口index.html 引入第三方库,如vue webpack 构建配置文件添加externals配置 文件中正常引入第三方包,如vue dll 在使用webpack进行打包时候,对于依赖的第三方库,比如vue,vuex等这些不会修改的依赖,我们可以让它和我们自己编写的代码分开打包,这样做的好处是每次更改我本地代码的文件的时候,webpack只需要打包我项目本身的文件代码,而不会再去编译第三方库