前端工程化-uglify解析

本文介绍了前端开发中的代码压缩工具UglifyJS,它是一个常用的JavaScript解析、压缩和美化工具。文章详细讲解了AST(抽象语法树)的概念及其在代码压缩原理中的作用,同时阐述了UglifyJS的代码压缩规则,包括移除注释、空格优化、表达式合并和标识符替换等。此外,还提到了在webpack中配置uglifyjs-webpack-plugin的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

UglifyJs 是一个js 解释器、最小化器、压缩器、美化器工具集(parser, minifier, compressor or beautifier toolkit),是前端开发打包的最常用工具之一。

AST(抽象语法树):

要想了解JS的压缩原理,需要首先了解AST:

抽象语法树:AST(Abstract Syntax Tree),是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。之所以说语法是「抽象」的,是因为这里的语法并不会表示出真实语法中出现的每个细节。

在这里插入图片描述

AST是源代码根据其语法结构,省略一些细节(比如:括号没有生成节点),抽象成树形表达。抽象语法树在计算机科学中有很多应用,比如编译器、IDE、压缩代码、格式化代码等。

AST ,抽象语法树,js 代码解析后的最小词法单元:

  • eslint: 校验你的代码风格
  • babel: 编译代码到 ES 低版本
  • taro/mpvue: 各种可以多端运行的小程序框架
  • GraphQL: 解析客户端查询

代码压缩原理:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值