0%

webpack 的性能瓶颈

webpack 的优化瓶颈,主要是两个方面:

  • webpack 的构建过程太花时间
  • webpack 打包的结果体积太大

webpack构建速度和体积优化策略

什么是前端性能优化

从用户访问资源到资源完整的展现在用户面前的过程中,通过技术手段和优化策略,缩短每个步骤的处理时间从而提升整个资源的访问和呈现速度。

为什么要做前端性能优化

在构建web站点的过程中,任何一个细节都有可能影响网站的访问速度,如果不了解性能优化知识,很多不利网站访问速度的因素会形成累加,从而严重影响网站的性能,导致网站访问速度变慢,用户体验低下,最终导致用户流失。

阅读全文 »

TypeScript装饰器

在 TS 中,装饰器仍然是一项实验性特性,未来可能有所改变,所以如果你要使用装饰器,需要在 tsconfig.json 的编译配置中开启experimentalDecorators,将它设为 true

装饰器定义

装饰器是一种新的声明,它能够作用于 类声明方法访问符属性参数 上。使用 @ 符号加一个名字来定义,如 @decorate,这的 decorate 必须是一个函数或者求值后是一个函数,这个 decorate 命名不是写死的,是你自己定义的,这个函数在 运行的时候被调用,被装饰的声明作为 参数 会自动传入。要注意装饰器要紧挨着要修饰的内容的前面,而且所有的装饰器不能用在声明文件(.d.ts)中,和任何外部上下文中。

阅读全文 »

TypeScript配置文件

当我们使用 tsc 命令编译项目,且没有指定输入文件时,编译器就会去查找 tsconfig.json 文件。如果在当前目录没找到,就会逐级向父文件夹查找。我们也可以通过在 tsc 命令中加上–project 参数,来指定一个包含 tsconfig.json 文件的目录。如果命令行上指定了输入文件时,tsconfig.json 的配置会被忽略。

阅读全文 »

高级类型

TypeScript为了保障语言的灵活性,而引入的一些语言特效。这些特性有助于开发者应对复杂,多变的开发场景。

交叉类型

交叉类型是将多个类型合并为一个类型。 新的类型拥有所有类型的特性。我们大多是在对象混入(mixins)或其它不适合典型面向对象模型的地方看到交叉类型的使用。 (在 JavaScript 里发生这种情况的场合很多!) 下面是如何创建混入的一个简单例子:

阅读全文 »