babel使用
2019-03-05
Babel使用
Babel是一个JavaScript编译器,用来将高版本的JavaScript代码编译为兼容性更强的低版本代码,这样我们在开发中就可以尽情使用高版本的JS特性而不必考虑版本兼容性了。
安装
-
安装Babel CLI(命令行工具)
npm install --save-dev babel-cli
-
创建Script:
//package.json { //.. //新增 "scripts": { //-s参数表示生成sourcr map "build": "babel src -d lib -s" }, "devDependencies": { "babel-cli": "^6.0.0" } }
默认所有js文件都在src文件夹以及src的子文件夹下
-
创建
.babelrc
配置文件-
安装env preset(根据环境自动配置的Babel Preset配置)
npm install babel-preset-env --save-dev
-
定义
.babelrc
文件{ "presets": ["env"] }
其他转换规则:
npm install –save-dev babel-preset-es2015 #es2015规则 npm install –save-dev babel-preset-react #react转换规则 ES7不同阶段规则 npm install –save-dev babel-preset-stage-1 npm install –save-dev babel-preset-stage-2 npm install –save-dev babel-preset-stage-3
在prests中加入名称即可(比如安装了babel-preset-react就加个”react”)
-
-
试试编译
npm run build
这样就将./src的文件重新编译在./lib下,成功
babel-register
babel-register
模块改写require
命令,就不需要手动对require涉及的模块文件进行编译了
npm install --save-dev babel-register
babel-polyfill
babel只对语法进行编译转换,但不会对新的对象方法进行转换,比如Array新增的from方法。使用babel-polyfill
对新的对象方法进行编译转换
npm install --save babel-polyfill
//在需要转换的js文件头部加上:
require('babel-polyfill');