詳解如何使用babel進行es6文件的編譯
1.babel
2. 安裝
npm i babel-cli -g
通過上面命令進行babel的安裝,其中i表示安裝install的意思, -g表示安裝到全局
3.使用
創(chuàng)建文件es6.js
let num = [1,2,3,4]; let plusDouble = num.map(item => item * 2); console.log(plusDouble);
然后使用命令進行編譯:
babel es6.js -o compiled.js
然后就會在當前目錄下出現(xiàn)編譯之后的文件,就這樣,我們完成了編譯的過程,但是,當我們進行運行編譯之后的文件時,仍然會報錯,其實主要原因是上面的編譯沒有加約束條件,也就是沒有告訴babel去怎么編譯,那下面我們就進行對babel進行配置
4. 配置
(1)通過文件配置
在項目目錄下創(chuàng)建文件.babelrc,在文件中書寫如下代碼:,由于babel是通過插件的形式進行使用,所以在下面代碼中通過添加對象預(yù)設(shè)和插件
{
"presets": [],
"plugins": []
}
安裝插件,在下面這個插件的使用,可以將ES6代碼編譯為ES5代碼:
npm i --save-dev babel-preset-es2015
(代碼中--save-dev代表安裝在本地開發(fā)依賴中)
然后將.babelrc中的文件進行修改為以下內(nèi)容:
{
"presets": ["es2015"],
"plugins": []
}
至此,我們已經(jīng)配置完成,運行編譯命令即可得到下面的結(jié)果:
"use strict";
var num = [1, 2, 3, 4];
var plusDouble = num.map(function (item) {
return item * 2;
});
console.log(plusDouble);
運行之后能夠正常打印結(jié)果
現(xiàn)在我們能夠進行簡單的編譯,但是對于一些es7里邊的新特性還是有點限制,這樣,我們就的使用插件進行編譯,如下面所示對象展開符插件object-rest-spread,同樣的,我們使用命令進行安裝
npm i babel-plugin-transform-object-rest-spread --save-dev
同樣進行到插件中修改
{
"presets": ["es2015"],
"plugins": ["transform-object-rest-spread"]
}
然后通過代碼進行測試,在代碼中書寫如下內(nèi)容(...為ES7中預(yù)先提出的設(shè)想):
let courses = { name: 'english', score: 90};
courses = { ...courses, comment: 'A'};
console.log(courses);
編譯之后的結(jié)果為:
'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方法將對象展開符進行轉(zhuǎn)化,運行代碼可正常輸出結(jié)果
(2)通過在webpack配置文件中進行其他屬性的加載配置
在webpack中,我們能夠通過各類加載器進行樣式的加載,在使用樣式加載的時候,通過下面鏈接進行查看:http://www.dhdzp.com/article/141096.htm
以上就是babel編譯es6文件的方法,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript如何利用Promise控制并發(fā)請求個數(shù)
大家都知道js是單線程,并不存在真正的并發(fā),但是由于JavaScript的Event Loop機制,使得異步函數(shù)調(diào)用有了“并發(fā)”這樣的假象。這篇文章主要給大家介紹了關(guān)于JavaScript如何利用Promise控制并發(fā)請求個數(shù)的相關(guān)資料,需要的朋友可以參考下2021-05-05
解決前端接收 type:"application/octet-stream" 格
前端接收 type: “application/octet-stream“ 格式的數(shù)據(jù)并下載,還有后端既返回octet-stream還返回JSON數(shù)據(jù)時的處理方法,今天給大家分享前端接收 type:"application/octet-stream" 格式的數(shù)據(jù)并下載(解決后端返回不唯一問題)的解決方案,感興趣的朋友一起看看吧2023-12-12

