Angular 性能优化 —— 削减 main.js 中 less 的大小

在Angular 项目中,我们完成每一个版本的更迭的时候,会编译和发布这一版本。但当我们编译完成后,会发现main.js 比较大, 比如下面的这个

会发现它有29.6MB 大小。

效果图:

当我们使用angular 的分析工具时发现在main.js 中 less 文件占总大小的50%以上。

为什么会这样?

此时会发现,我们将整个的colors.less 文件导入到了

在研究less文件的时候发现,会有一些通用的样式。比如下面的colors.less

我们定义了很多基础的颜色,这样在其他的component的 less 文件中,我们就可以使用统一的颜色以便后期更改,那么我们就需要在这个less 文件中 导入 colors.less 以便使用。如下

这个样式文件中,这样会使得编译后在main.js 的less 文件会有冗余。那么就需要找到一种方法去除在main.js 的less 冗余。

解决:

less 提供了导入选项 (reference)

当使用 @import (reference) ‘xxx.less’ 导入外部文件,只会将使用的样式添加到编译输出中,否则其他未使用的样式都不会添加编译输出中。

当我们把项目中所有的@import 添加(reference)后的main.js 就从之前的29.6 MB 降到14.3MB。

效果图:

猜你喜欢

转载自blog.csdn.net/KenkoTech/article/details/128573649