webpack之babel学习系列1——babel历史
2021-12-11 本文已影响0人
ZH彪
第二篇webpack之babel学习系列2——babel设计,组成
前端的蓬勃发展得益于 Google的V8引擎(2008年出现),[Node.js]的诞生(2009年出现,npm 10年出现); V8引擎把 Javascript 的运行速度提上来了(有兴趣的可以看下 Chrome 第一次出现的时候,大家对网页加载速度惊叹),有了 Node.js 前端出现了打包、编译变得工程化,前端一下子从[石器时代]进入到了工业化时代 这样才使得使用 Javascript 使用量一直排在第一 ,吊打排名第二的Java 前几年 大家都吐槽 Javascript 变化的非常快,各种框架/工具 百花齐放;但到 17年后明显平稳了些。 为什么?因为那会啥也没有,没有好用的轮子,没有好有的框架,没有标准,大家迫切的通过各种方式来提高开发效率,慢慢的这些问题都解决了,前端发展就平稳了很多。所以从历史发展的角度看问题,会更清晰。
说到[前端编译],打包就离不开 Babel、webpack,他们都是开发的基石!
what is Babel
简单讲 Babel 是 Javascript 编译器 ,将 ES6,ES7 ,ES8 转换成 浏览器都支持 的ES5 语法,并提供一些插件来兼容浏览器API的工具。是怎么实现的勒, Babel 会将源码转换 AST(抽象语法树) 之后,通过便利AST树,对树做一些修改,然后再将AST转成code,即成源码,通俗讲就是整了个容,浏览器觉得挺漂亮的,让代码在浏览器上耍撒
// 这种箭头函数浏览器肯定是识别不了的
[1, 2, 3].map((n) => n + 1);
// Babel 转换了下 啾的一下 就变成了下面的代码,类似 .Java 转换成 .Class 字节码
[1, 2, 3].map(function(n) {
return n + 1;
});
Babel 版本
- 2015-02-15,6to5重命名为babel
- 2015-03-31,babel 5.0发布
- 2015-10-30,babel 6.0发布
- 2018-08-27, babel 7.0发布