1.babel
babel官方網址
2. 安裝
npm i babel-cli -g
通過上面命令進行babel的安裝,其中i表示安裝install的意思, -g表示安裝到全局
3.使用
創建文件es6.js
let num = [1,2,3,4]; let plusDouble = num.map(item => item * 2); console.log(plusDouble);
然后使用命令進行編譯:
babel es6.js -o compiled.js
然后就會在當前目錄下出現編譯之后的文件,就這樣,我們完成了編譯的過程,但是,當我們進行運行編譯之后的文件時,仍然會報錯,其實主要原因是上面的編譯沒有加約束條件,也就是沒有告訴babel去怎么編譯,那下面我們就進行對babel進行配置
4. 配置
(1)通過文件配置
在項目目錄下創建文件.babelrc,在文件中書寫如下代碼:,由于babel是通過插件的形式進行使用,所以在下面代碼中通過添加對象預設和插件
{  "presets": [],  "plugins": [] } 安裝插件,在下面這個插件的使用,可以將ES6代碼編譯為ES5代碼:
npm i --save-dev babel-preset-es2015
(代碼中--save-dev代表安裝在本地開發依賴中)
然后將.babelrc中的文件進行修改為以下內容:
{  "presets": ["es2015"],  "plugins": [] } 至此,我們已經配置完成,運行編譯命令即可得到下面的結果:
"use strict";  var num = [1, 2, 3, 4]; var plusDouble = num.map(function (item) {  return item * 2; }); console.log(plusDouble); 運行之后能夠正常打印結果
現在我們能夠進行簡單的編譯,但是對于一些es7里邊的新特性還是有點限制,這樣,我們就的使用插件進行編譯,如下面所示對象展開符插件object-rest-spread,同樣的,我們使用命令進行安裝
npm i babel-plugin-transform-object-rest-spread --save-dev
同樣進行到插件中修改
{  "presets": ["es2015"],  "plugins": ["transform-object-rest-spread"] } 然后通過代碼進行測試,在代碼中書寫如下內容(...為ES7中預先提出的設想):
let courses = { name: 'english', score: 90}; courses = { ...courses, comment: 'A'}; console.log(courses); 編譯之后的結果為:
'use strict';  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };  var courses = { name: 'english', score: 90 }; courses = _extends({}, courses, { comment: 'A' }); console.log(courses); 通過添加_extends方法將對象展開符進行轉化,運行代碼可正常輸出結果
(2)通過在webpack配置文件中進行其他屬性的加載配置
以上就是babel編譯es6文件的方法,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答