Babel——ES6转换

来源:互联网 发布:tiu网络用语什么意思 编辑:程序博客网 时间:2024/06/05 06:36

1. 在线转换 https://babeljs.cn/
2. 手动转换Babel-cli
首先 npm -init

**1)配置.Babelrc文件** {  "presets": ["latest"],  "plugins": []}// es2015转码规则npm install --save-dev babel-preset-es2015// react转码规则npm install --save-dev babel-preset-react//react最新转码规则npm install --save-dev babel-preset-latest// ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个npm install --save-dev babel-preset-stage-0npm install --save-dev babel-preset-stage-1npm install --save-dev babel-preset-stage-2npm install --save-dev babel-preset-stage-3**2 ) 安装 babel-cli 工具,用于命令行转码**npm install --global babel-cli**3) 执行转码**  babel example.js -o compile.js --presets es2015**4) 实时监听编译文件:**$ babel example.js --watch -o compiled.js --presets es2015

3. Babel-node命令转换并执行
例如: babel-node example.js

4. Babel-register
该模块改写了require命令,加上了一个钩子。此后每当使用require加载带有.js / .jsx / .es / .es6的文件时,就会先用babel进行转码
首先 npm install –save-dev babel-register
然后 require(“babel-register”)
require(“./index.js”)
此时不需要再对index.js进行转码

5. Babel-core
需要调用BABEL的API进行转码,就需要使用babel-core模块 (暂未用上)

6. babel-poly
babel默认只转换新的JS语法,不转换新的API, 比如Iterator , Generator , Set , Maps , Proxy , Reflect , Symbol , Promise 等全局对象。 以及定义在全局对象的方法 (比如Object.assign)

7. 浏览器环境以script标签方式引入
的方式引入 ,会造成而性能下降,生产环境需要加载已经转码的脚本!

原创粉丝点击