Babel从入门到使用

1.认识Babel

        首先呢,我们来看一下Babel的官网:https://babeljs.io/ ,官网中给出的官方解释是:Babel is a JavaScript compiler.Use next generation JavaScript, today.(Babel是一个JS的编译器。有了Babel之后,我们就可以使用下代的JS了。)也就是说Babel是可以将ES6代码编译成ES5或者更早的版本,这样就可以不用考虑浏览器的兼容性问题了。

2.使用Babel

        在官网中点击Try it out ,亲自来试试Babel的编译吧!

可以看到:Babel成功将let、const、class、箭头函数转换为ES5的var、构造函数了,这样浏览器就可以成功识别ES6新增的语法,注意是语法。而Map、Set、Promise这种全局对象和新增的方法(Array.from、Object.assign)都会被原封不动的保留下来。是他引入了一些模块,实现了相同的方法,将其引入到老版本中,就相当于老版本也支持了。

总结:

Babel本身可以编译ES6大部分语法,比如let、const、箭头函数、类

但是对于ES6新增的API,比如Set、Map、Promise等全局对象,以及一些定义在全局对象上的方法,比如Object.assign,Array.from都不能直接编译,需要借助其他模块

Babel一般需要配合Webpack来编译模块语法

3.使用Babel(CLI)

使用Babel是需要npm的,npm为Node.js的包管理工具。所以我们使用的话需要先安装node.js。下载完成node.js之后,在自己的项目目录打开cmd命令行工具,查看一下自己node的版本。

安装成功之后,使用命令npm init初始化npm(注意包命一定不能有中文)

 init完成之后会生成一个package.json文件,作用是记录我们安装的包,如果换了环境就不用把所有的包打包了,只需要用 npm install就可以安装文件中的依赖包了。(按照官网安装依赖包)

 package.json

 所有的包安装完成之后,需要在package.json文件中添加以下代码

 将源目录(src)的文件用babel编译完后输出到目标目录(lib)。build就是命令的名字

在命令行中执行:npm run build会生成lib目录,但是发现代码没有变化。原因是没有配置文件babel.config.json

安装preset-env包(具体转换的语法)

在当前文件中建文件babel.config.json

再次执行 npm run build 

会生成编译后的代码

 


版权声明:本文为maxandcc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。