Babel是广泛使用的转码器,可将es6转为es5
配置文件.babelrc
{
"presets": [
"es2015",
"react",
"stage-2"
],
"plugins": []
}
presets字段设定转码规则, 需先写好.babelrc
命令行转码babel-cli
- 安装babel-cli
$ npm install --global babel-cli
- 将babel-cli安装在项目之中
# 安装
$ npm install --save-dev babel-cli
改写package.json
{
// ...
"devDependencies": {
"babel-cli": "^6.0.0"
},
"scripts": {
"build": "babel src -d lib"
},
}
babel-node
babel-cli工具自带一个babel-node命令,提供一个支持ES6的REPL环境,随babel-cli一起安装。然后,执行babel-node就进入PEPL环境
babel-register
babel-register模块改写require命令,为它加上一个钩子。此后,每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用Babel进行转码
babel-core
如果某些代码需要调用Babel的API进行转码,就要使用babel-core模块
babel-polyfill
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。
网友评论