java

注册

 

发新话题 回复该主题

详解前端工程师常考面试题babel [复制链接]

1#

说到babel,一连串名词会蹦出来:

babel-clibabel-corebabel-runtimebabel-nodebabel-polyfill...简而言之,babel就可以让我们当前的项目中随意的使用这些最新的ES6和ES7的语法,说白啦,就是把各种JavaScript千奇百怪的写法,统统转为浏览器可以好认的写法。

Babel总共分为三个阶段:解析、转换和生成。

babel本身没有任何转换功能,它把所有的转换功能都分解成插件。所以,当我们不配置任何插件时,代码和通过babel输入是一样的。

全新超实用性的Python零基础入门到就业体验课+视频+源码淘宝¥2购买已下架

插件有两种:

添加语法插件后,解析步骤让babel可以解析更多的语法。(顺便说一句,babel使用的解析库叫babylon,不是babel自己开发的)

举个简单的例子,当我们定义或调用一个方法时,不允许在最后一个参数后面加逗号,比如callFoo(param1,param2,)都是非法的。如果源代码是这样写的,通过babel后会提示语法错误。

但是最近的JS提案允许这种新的编写方式(使代码差异更清晰)。为了避免babel报错,我们需要添加语法插件babel-plugin-syntax-trailing-function-

分享 转发
TOP
发新话题 回复该主题