如果浏览器支持javascript和css的所有语法,webpack是否有必要将代码转换为AST,

Is it necessary for webpack to converting the code to AST, if the browser support all the syntax about javascript and css,

最近了解到webpack捆绑的过程如下:

  1. 读取配置文件并注册挂钩
  2. 获取模块文件 (由加载程序处理)并将代码转换为 AST
  3. 转换 AST 到浏览器可以理解的代码,输出块 文件到 dist

我错过了一些过程,但我的问题是第二步。 如果浏览器支持 javascript 和 css 的所有语法(如 import),webpack 将代码转换为 AST 是必要的。

一个Abstract Syntax Tree (AST)只是任何软件用来理解代码的数据结构。与使用字符串操作之类的方法相比,这是一种明显更好的代码解析机制。

Webpack 需要使用 AST 来理解和处理您的代码。如果没有这个,Webpack 将无法找出要打包在一起的依赖项列表,或者是否有任何需要删除的死代码,或者是否有任何代码需要从 ES6 转换为 ES5,等等.

同样,浏览器会将您的代码转换为 AST,以便它们能够理解指令并执行它们。