//转码前 input.map(item => item +1); //转码后 input.map(function (item) { return item + 1; })
$ npm install --global babel-cli $ npm install --save babel-preset-es2015 // 而后在当前目录下新建配置文件 .babelrc 并写入如下代码 { "presets": ['es2015'] }
Babel 自带一个babel-node 命令, 提供支持ES6 的 REPL 环境。它支持Node.js 的REPL环境的全部功能,并且能够直接运行ES6代码:node
$ babel-node console.log([1,2,3].map(x => x * x)) //[1 , 4, 9]
babel-node 命令也能够直接运行 ES6脚本:(假设将上述代码写入es6.js中)es6
$ babel-node es6.js // [1, 4, 9]
babel 命令能够将 ES6代码 转换为 ES5 代码:npm
$ babel es6.js "use strict";
console.log( [1,2,3].map( function (x) { return x * x; }) )
-o参数(或--out-file)可将转换后的代码从标准输出 重定向至文件浏览器
$ babel es6.js -o es5.js
#或者
$ babel es6.js --out-file es5.js
-d参数 用于转换整个目录 (-d后面跟的是输出目录)babel
$ babel -d build-dir source-dir
-s参数 用于生成source map 文件工具
$ babel -d build-dir source-dir -s
$ npm install babel-core@5
运行以上命令可在当前目录的 node_modules/babel-core/ 子目录下找到babel的浏览器版本browser.js(未精简) 和 browser.min.js(已精简)
而后插入如下代码到网页中:性能
<script src="node-modules/babel-core/browser.js"></script> <script type="text/babel"> // 书写es6 代码 </script>
注意: 这种写法实时的将es6 转换为 es5,对网页性能有影响。 生产环境下须要加载已转码的脚本。
$ npm install --save-dev babel-core babel-preset-2015
{ "presets":["es2015"] }
var es5Code = 'let x = n => n + 1'; var es6Code = require('babel-core') .transform(es5Code, {presets: ['es2015']}) .code; //' "use strict"; \n\n var x = function x(n) {\n return n+1; \n}; '
方法二:
require("babel-core/register");