Babel转换器
Babel转换器可以将ES6转换成ES5代码。再将es5代码在浏览器运行。
input.map(item=>item+1);//转码前
input.map(function(item){
return item+1
})//转码后
babel工具是在项目开发阶段使用的工具
jquery是在产品阶段使用的工具
初始化项目
npm init
npm init -y 快速初始化项目
生成一个package.json文件
安装
全局安装babel脚手架工具
$ npm install -g babel-cli
全局安装转换规则
$npm install -g babel-preset-latest
局部安装babel
$npm install --save-dev babel-cli babel-preset-latest
安装完后package.json文件内会出现
"devDependencies":{
"babel-cli":"版本号",
"babel-preset-latest":"版本号"
}
配置
在根目录创建.babelrc配置文件
{
"presets":["latest"]//指定转化规则
}
转换
$babel example.js
可以把example1.js代码转成es5代码输出到example2.js中
$babel example1.js --out-file example2.js
把src整个目录内的js文件转成es5转到dist目录下
$babel src --out-dir dist
总结:初始化->局部安装->配置文件->转换
babel只能转语法,不能转功能类型的方法
babel-polyfill垫片可以将es6的功能代码转为es5代码实现。
例如
Array.from()类数组转数组,该方法在es6不能实现,要想实现要加babel-polyfill垫片。
安装babel-polyfill
$npm install --save babel-polyfill
在js文件中引用并且使用
import 'babel-polyfill';//或者require('babel-polyfill')
模块化引入时找包:先从本项目的node_modules里找,找不到再从父级文件夹的node_modules找,一直找到全局的node_modules.