【Angular性能优化】项目8版本加载速度缓慢、白屏时间、首页渲染性能优化方案

前言

随着业务的代码一点点增加,加上Angular的项目本身就比 vue、react 的重一些,随之而来的启动速度,更改文件后编译速度,以及打包速度也会变慢,于是乎想着优化下我们的项目。

本文章主要说的是 :

  1. 打包Angular项目的一些配置,性能优化方面的方案
  2. 打包后,用户进入页面的速度提升

禁止Rollup 摇树优化

所谓Rollup是指Webpack2会把那些应用中未使用的引用代码除掉,但不会删除这些代码,所以就需要配合 UglifyJs 能够智能的移除这些未使用的代码。从而减少包体大小。
而Agnular应用是基于Typescript,因此Angular Cli提供了一个叫 Angular Build Optimizer 插件,将 Typescript 编译结果转化成更友好的UglifyJs版本。这样UglifyJs就能够更有效的移除那些未使用的代码。
Angular Cli只需要加上 --build-optimizer 参数就可以,这将禁用供应商数据块,并导致代码更小。在一些情况下压缩的还是很厉害的。

在package.json 打包命令的地方

  • –build-optimizer=true
    "build-uat": "ng build --prod --configuration=uat --build-optimizer=true",

build-optimizer的 true 与 false 区别

这里说的是package.json 的打包命令

true

  • –build-optimizer=true

默认情况下会启用Tree-Shaking。但是虽然减小了构建大小(只会减小几kb),打包的速度会增加

  • 打包后大小 36.6M

企业微信截图_15385979-9801-4565-9ca4-4c262b20ab03.png

false

  • –build-optimizer=false

不使用摇树优化,牺牲打包空间换取时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/522795.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue vue3 手写 动态加载组件

效果展示 一、需求背景: # vue3 项目涉及很多图表加载、表格加载 #考虑手写一个动态加载组件 二、实现思路 通过一个加载状态变量,通过v-if判断,加载状态的变量等于哪一个,动态加载组件内部就显示的哪一块组件。 三、实现效果…

Coursera上托福专项课程03:TOEFL Test-Taking Strategies 学习笔记(完结)

TOEFL Preparation Specialization Specialization Certificate TOEFL Test-Taking Strategies Course Certificate 本文是学习 TOEFL Test-Taking Strategies 这门课的学习笔记,如有侵权,请联系删除。 文章目录 TOEFL Preparation SpecializationTOEF…

《web应用技术》第二次课后练习

练习目的: 1、form表单值的获取 2、mysql数据库及表的建立(参见视频) 3、maven项目的建立(参见视频) 4、使用jdbc进行数据库的增删改查操作。(参见源代码) 具体如下: 1、继续理…

以Kotti项目为例使用pytest测试项目

在维护和构建大型项目时,单独一个一个手工测试代码已经不适用了,这时候就要用专门的测试框架进行测试。让我们以Kotti项目为例,用pytest这个测试框架进行实践测试吧。 使用python3.10 Ubuntu 系统 准备工作 下载和安装kotti库 pip install…

并查集python实现及题目练习

文章目录 1. 并查集概念1.1 理解并查集:简介与应用场景1.2 Python 实现并查集及优化策略1.3 扁平化栈实现1.4 分析并查集的时间复杂度 2. 情侣牵手3. 相似字符串4. 岛屿数量 如果想了解并查集基础推荐去看左程云大神的算法讲解,非常不错,b站和…

【一】学习TDengine-总结新技术学习的思考

学习TDengine-总结新技术学习的思考 概要 因业务场景需要我们开始接触时序数据库,于是开始根据以往的学习经验着手熟悉这一项新技术,学习也是一种技能,成功的人越容易成功,因为他们掌握了一套成功的方法,这里提到学习经…

【LeetCode热题100】74. 搜索二维矩阵(二分)

一.题目要求 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,…

清明寄哀思,VR云祭扫沉浸式缅怀先烈

只要拿出手机扫一扫,就能通过VR全景,沉浸式走进烈士陵园、纪念场馆,随场景进行同步参观,进行“云祭扫”。这种“云祭扫”活动一经推出就受到了广大群众的追捧,VR全景云祭扫以一种全新、绿色、安全的理念,通…

别让.[[hashtreep@waifu.club]].svh勒索病毒盯上你:一份实用的科普与防范经验

引言: 在数字化浪潮席卷全球的今天,我们享受着信息技术带来的便捷与高效。然而,随着我们对网络的依赖越来越深,网络安全问题也日益凸显。其中,.[[hashtreepwaifu.club]].svh勒索病毒就是一种让人闻之色变的网络威胁。它…

Mac安装Docker提示Another application changed your Desktop configuration解决方案

1. 问题描述 Mac安装Docker后,提示Another application changed your Desktop configuration,Re-apply configurations无效 2. 解决方案 在终端执行下述命令即可解决: sudo ln -sf /Applications/Docker.app/Contents/Resources/bin/docke…

2024/4/1—力扣—两数相除

代码实现&#xff1a; 思路&#xff1a;用减法模拟除法 // 用减法模拟除法 int func(int a, int b) { // a、b均为负数int ans 0;while (a < b) { // a的绝对值大于等于b&#xff0c;表示此时a够减int t b;int count 1; // 用来计数被减的次数// t > INT_MIN / 2:防止…

Tire树

Trie 树是一种多叉树的结构&#xff0c;每个节点保存一个字符&#xff0c;一条路径表示一个字符串。 Trie字符串统计 维护一个字符串集合&#xff0c;支持两种操作&#xff1a; I x 向集合中插入一个字符串 x&#xff1b;Q x 询问一个字符串在集合中出现了多少次。 共有 N 个…

突破外贸挑战:推荐几款优秀的CRM软件,解析解决方案

外贸企业面临的困境愈演愈烈&#xff0c;他们不仅面临着外部竞争对手以及市场的挑战&#xff0c;内部还面临着资金和管理难题的挤压。墨守成规&#xff0c;还按照之前单一的管理运营模式&#xff0c;迟早会被市场淘汰。 现在的市场趋势是企业要逐步走向精细化管理&#xff0c;将…

蓝牙学习十(扫描)

一、简介 从之前的文章中我们知道&#xff0c;蓝牙GAP层定义了四种角色&#xff0c;广播者&#xff08;Broadcaster&#xff09;、观察者&#xff08;Observer&#xff09;、外围设备&#xff08;Peripheral&#xff09;、中央设备&#xff08;Central&#xff09;。 之前的学习…

华为ICT七力助推文化产业新质生产力发展

创新起主导作用的新质生产力由新劳动者、新劳动对象、新劳动工具、新基础设施等四大要素共同构成&#xff0c;符合新发展理念的先进生产力质态&#xff1b;具有高科技、高能效、高质量等三大突出特征。而通过壮大新产业、打造新模式、激发新动能&#xff0c;新质生产力能够摆脱…

JMeter源码解读 - HashTree(超详细)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在 JMeter 中&#xff0c;HashTree 是一种用于组织和管理测试计…

网络安全意识也是基础防御中的关键一环

在当今数字化时代&#xff0c;网络安全已经成为企业和个人生活中不可或缺的一部分。网络攻击的不断演进和加剧使得保护个人隐私、商业机密和国家安全变得尤为重要。然而&#xff0c;网络安全并非仅仅是技术层面的问题&#xff0c;更是一个综合性的挑战&#xff0c;需要广泛的参…

场景文本检测识别学习 day01(传统OCR的流程、常见的损失函数)

传统OCR的流程 传统OCR&#xff1a;传统光学字符识别常见的的模型主要包括以下几个步骤来识别文本 预处理&#xff1a;预处理是指对输入的图像进行处理&#xff0c;以提高文字识别的准确率。这可能包括调整图像大小、转换为灰度图像、二值化&#xff08;将图像转换为黑白两色&…

Android视角看鸿蒙第十一课-鸿蒙的布局之层叠布局Stack

Android视角看鸿蒙第十一课-鸿蒙的布局之层叠布局 导读 在Android中我个人认为&#xff0c;最离不开的就是LinearLayout和FrameLayout了&#xff0c;RelativeLayout我都基本不用的。 所以我把层叠布局排在了第二位。 官方描述 如何定义层叠布局 Stack组件为容器组件&#x…

瑞登梅尔邀您参观2024第13届生物发酵展精彩不容错过

参展企业介绍 我们&#xff0c;瑞登梅尔(上海)纤维贸易有限公司 致力于研究、开发和生产以植物为原料的高品质有机纤维。我们让这些有价值的天然物质的许多特性&#xff0c;能够广泛应用于现代工业的各个领域。 JRS的纤维产品是由天然的、可再生的原料制成。例如&#xff1a;…