//轉碼前 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");