Babel转码器详解

Babel转码器详解

Babel是一个广为使用的ES6转码器,可以将ES6代码转为ES5代码,从而在浏览器或其他环境运行。这意味着可以用ES6的方式编写程序而不用担心环境是否支持

Babel的配置文件是.babelrc,存放在根目录下。使用Babel的第一步就是配置这个文件,这个文件用来设置转码规则和插件。要想使用以下所有Babel工具和模块,都必须先写好.babelrc

  1. 命令行转码 babel-cli
    babel-cli工具用于命令行转码,若在全局环境下安装babel,无法支持不同项目使用不同版本的babel,解决方案则是将 babel-cli安装在项目中。
  2. babel-node
    babel-cli工具自带一个babel-node命令,提供一个支持ES6的REPL环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。
  3. babel-register
    babel-register模块改写了require命令,为它加上一个钩子。此后每使用require 加载后缀为.js、.jsx、.es、和 .es6的文件时,就会先用babel进行转码。该工具只会对require命令加载的文件进行转码,而不会对当前文件进行转码。由于是实时转码所以只适合在开发环境使用。
  4. babel-core
    如果某些代码需要调用babel的api进行转码,就要使用babel-core模块
  5. babel-polyfill
    babel默认只转换新的javascript句法,而不转换新的api,如Iterator、Generator、Set、Maps、Proxy、Promise等全局对象以及一些定义在全局对象上的方法都不会转码。举例来说Es6在Array对象上新增的Array.from方法,Babel就不会转码这个方法。如果想让这个方法运行必须使用babel-polyfill为当前环境提供一个垫片。

你可能感兴趣的:(js,javascript,前端,开发语言)