配置方法:1、用導入的方法把ES6代碼放到打包的js代碼文件中;2、利用npm工具安裝babel-loader工具,語法“npm install -D babel-loader @babel/core @babel/preset-env”;3、創(chuàng)建babel工具的配置文件“.babelrc”并設定轉碼規(guī)則;4、在webpack.config.js文件中配置打包規(guī)則即可。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
萬惡的IE遺臭萬年仍然需要填坑
- ie標準對html/css甚至js的規(guī)范簡直相差甚遠,所以,一般要解決的兼容問題很大一部分是為了解決ie的不兼容,雖然目前流行的ES6語法及規(guī)范將IE的考慮拋棄掉,默認放棄對IE的治療,但是IE的兼容仍然是個問題!即使IE的使用率已經(jīng)不到1%的市場占比。
- 我們使用著舒服的ES6規(guī)范但是為IE又很頭疼怎么辦呢?Webpack開發(fā)了非常厲害的打包轉換功能:轉ES5!
隨便來個ES6代碼
- 就寫個let聲明和遍歷:
console.log("webpack?1"); let?date?=?["hello",?"world",?"this",?"is",?"es6",?"code"]; ((theDate)?=>?{ ????theDate.forEach(item?=>?console.log(item)); })(date)
這是在Chrome瀏覽器里的結果
這是在火狐瀏覽器的結果:
這是ie11瀏覽器的結果:
完全不出意料哈!我們來轉一轉。
- 這里我們先做一個修改,用導入的辦法把ES6代碼挪到打包的js代碼文件中:
原index.js:
console.log("webpack?1"); let?fun?=?()?=>?{ ????let?date?=?["hello",?"world",?"this",?"is",?"es6",?"code"]; ????date.forEach(item?=>?console.log(item)); } //fun()?//結果依然剛才一樣 export?default?fun;//es6導出函數(shù),es6模塊化知識
Can’t find @babel/core 問題
- 以前安裝打包需要的插件或者說是工具包:
npm?install?babel-core?babel-loader?babel-preset-es2015?--save-dev #因為是開發(fā)測試環(huán)境,就加了dev,各自根據(jù)需要更改保存參數(shù)
- 沒錯,因為版本兼容問題,最新的8.x版本babel-loader讀取babel-core發(fā)生了改變,因此我們要安裝對應匹配的版本:
#webpack?4.x?|?babel-loader?8.x?|?babel?7.x?最新版本 npm?install?-D?babel-loader?@babel/core?@babel/preset-env #webpack?4.x?|?babel-loader?7.x?|?babel?6.x?版本 npm?install?-D?babel-loader@7?babel-core?babel-preset-env?webpack
- 我這里使用的是7.x版本:
- 創(chuàng)建babel工具的配置文件:
.babelrc
,設定轉碼規(guī)則
{ ????"presets":?[ ????????"es2015" ????],? ????"plugins":?[] }
- webpack.config.js配置打包規(guī)則:
module:?{ ????rules:?[{ ????????test:?/\.js$/, ????????use:?'babel-loader', ????????exclude:?/node_modules/ ????}] }
- webpack執(zhí)行,生成test.html
瀏覽器的效果:
Chrome
IE
代碼成功在IE上運行了
我們再看看打包轉換成的es5長啥樣
es6轉es5到此結束。
【相關推薦:javascript視頻教程、編程視頻】
以上是webpack怎么將es6轉成es5的模塊的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

WebSocket與JavaScript:實現(xiàn)實時監(jiān)控系統(tǒng)的關鍵技術引言:隨著互聯(lián)網(wǎng)技術的快速發(fā)展,實時監(jiān)控系統(tǒng)在各個領域中得到了廣泛的應用。而實現(xiàn)實時監(jiān)控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在實時監(jiān)控系統(tǒng)中的應用,并給出代碼示例,詳細解釋其實現(xiàn)原理。一、WebSocket技

如何使用WebSocket和JavaScript實現(xiàn)在線語音識別系統(tǒng)引言:隨著科技的不斷發(fā)展,語音識別技術已經(jīng)成為了人工智能領域的重要組成部分。而基于WebSocket和JavaScript實現(xiàn)的在線語音識別系統(tǒng),具備了低延遲、實時性和跨平臺的特點,成為了一種被廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現(xiàn)在線語音識別系

如何利用JavaScript和WebSocket實現(xiàn)實時在線點餐系統(tǒng)介紹:隨著互聯(lián)網(wǎng)的普及和技術的進步,越來越多的餐廳開始提供在線點餐服務。為了實現(xiàn)實時在線點餐系統(tǒng),我們可以利用JavaScript和WebSocket技術。WebSocket是一種基于TCP協(xié)議的全雙工通信協(xié)議,可以實現(xiàn)客戶端與服務器的實時雙向通信。在實時在線點餐系統(tǒng)中,當用戶選擇菜品并下單

JavaScript和WebSocket:打造高效的實時天氣預報系統(tǒng)引言:如今,天氣預報的準確性對于日常生活以及決策制定具有重要意義。隨著技術的發(fā)展,我們可以通過實時獲取天氣數(shù)據(jù)來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來構建一個高效的實時天氣預報系統(tǒng)。本文將通過具體的代碼示例來展示實現(xiàn)的過程。We

如何使用WebSocket和JavaScript實現(xiàn)在線預約系統(tǒng)在當今數(shù)字化的時代,越來越多的業(yè)務和服務都需要提供在線預約功能。而實現(xiàn)一個高效、實時的在線預約系統(tǒng)是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實現(xiàn)一個在線預約系統(tǒng),并提供具體的代碼示例。一、什么是WebSocketWebSocket是一種在單個TCP連接上進行全雙工

JavaScript教程:如何獲取HTTP狀態(tài)碼,需要具體代碼示例前言:在Web開發(fā)中,經(jīng)常會涉及到與服務器進行數(shù)據(jù)交互的場景。在與服務器進行通信時,我們經(jīng)常需要獲取返回的HTTP狀態(tài)碼來判斷操作是否成功,根據(jù)不同的狀態(tài)碼來進行相應的處理。本篇文章將教你如何使用JavaScript獲取HTTP狀態(tài)碼,并提供一些實用的代碼示例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用于在DOM樹中插入一個新的節(jié)點。這個方法需要兩個參數(shù):要插入的新節(jié)點和參考節(jié)點(即新節(jié)點將要被插入的位置的節(jié)點)。

JavaScript中的HTTP狀態(tài)碼獲取方法簡介:在進行前端開發(fā)中,我們常常需要處理與后端接口的交互,而HTTP狀態(tài)碼就是其中非常重要的一部分。了解和獲取HTTP狀態(tài)碼有助于我們更好地處理接口返回的數(shù)據(jù)。本文將介紹使用JavaScript獲取HTTP狀態(tài)碼的方法,并提供具體代碼示例。一、什么是HTTP狀態(tài)碼HTTP狀態(tài)碼是指當瀏覽器向服務器發(fā)起請求時,服務
