梦回苍石居  |
Cangshi Live

从 Babel 6 迁移到 Babel 7.x

BABELJSNPM
苍石 发表于:2019-09-11 14:18:42  最后编辑于:1 年前 87 Views

在接触 Babel 之前,我使用 Vue Cli 搭建项目时,一直觉得很神奇,因为在项目中可以使用 ES6 的 JS 语法甚至更新的语法。

在后来通过对项目结构的解析,发现了 Babel,Babel 在我理解中是一个语法编辑器,它可以将最新的语法甚至是 JS 标准中没有实现的语法进行再次编译,编译成低版本 JS 能够识别的代码,从而通过高效率的语法来对项目实现快速开发。


我之前的项目是通过 Vue Cli 搭建的一个很简易的环境,其中使用 Babel 的版本是 6.x。

在学习 JS 的高级语法过程中,我发现在 JS 的语法中,也有一些很有意思的提案,如链判断运算符,注解装饰器等,

但在我通过 Vue Cli 搭建的环境中,我发现是无法实现这些功能的,通过在 Babel 官网的查询,发现我应该将 babel 的版本升级到 7.x,这有一篇文章简单介绍了 Babel 7

在升级的过程中,总会遇到各种奇奇怪怪的问题,于是我使用了一个 插件:Babel-Upgrad,在给出的链接中有使用该插件的详细步骤。


在将 Babel 升级为7.x 的版本后,发现依然不能使用提案中提到的语法,开始以为是没有设置 preset 的原因,将 preset 设置为 stage-0 却不能成功运行,报了一大堆错。

最后通过查阅资料,发现在 Babel 7.x 已经不支持直接在 preset 中设置 stage-0 等,如果要使用某种语法需要在 Plugin 中引入相关语法的插件。

如:想要使用注解装饰器,需要引入

"@babel/plugin-proposal-decorators"


至于具体的插件需要根据官方文档自行引入。

文章评论 ( 0 )

Person name
未登录用户可以发表匿名评论