設(shè)定方法:1.用導(dǎo)入的方法把ES6程式碼放到打包的js程式碼檔案中;2、利用npm工具安裝babel-loader工具,語(yǔ)法「npm install -D babel-loader @babel/ core @babel/preset-env」;3、建立babel工具的設(shè)定檔「.babelrc」並設(shè)定轉(zhuǎn)碼規(guī)則;4、在webpack.config.js檔案中設(shè)定打包規(guī)則即可。
本教學(xué)操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
萬(wàn)惡的IE遺臭萬(wàn)年仍然需要??填坑
- #ie標(biāo)準(zhǔn)對(duì)html/css甚至js的規(guī)範(fàn)簡(jiǎn)直相差甚遠(yuǎn),所以,一般要解決的兼容問(wèn)題很大一部分是為了解決ie的不相容,雖然目前流行的ES6語(yǔ)法及規(guī)範(fàn)將IE的考慮拋棄掉,默認(rèn)放棄對(duì)IE的治療,但是IE的兼容仍然是個(gè)問(wèn)題!即使IE的使用率已經(jīng)不到1%的市場(chǎng)佔(zhàn)比。
- 我們使用著舒服的ES6規(guī)範(fàn)但是為IE又很頭痛怎麼辦呢? Webpack開(kāi)發(fā)了非常厲害的打包轉(zhuǎn)換功能:轉(zhuǎn)ES5!
隨便來(lái)個(gè)ES6程式碼
- 就寫(xiě)個(gè)let宣告和遍歷:
console.log("webpack?1"); let?date?=?["hello",?"world",?"this",?"is",?"es6",?"code"]; ((theDate)?=>?{ ????theDate.forEach(item?=>?console.log(item)); })(date)
這是在Chrome瀏覽器裡的結(jié)果
#這是在火狐瀏覽器的結(jié)果:
這是ie11瀏覽器的結(jié)果:
#完全不出意料哈!我們來(lái)轉(zhuǎn)一轉(zhuǎn)。
- 這裡我們先做一個(gè)修改,用導(dǎo)入的方法把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()?//結(jié)果依然剛才一樣 export?default?fun;//es6導(dǎo)出函數(shù),es6模塊化知識(shí)
Can't find @babel/core 問(wèn)題
- 以前安裝打包需要的插件或是說(shuō)是工具包:
npm?install?babel-core?babel-loader?babel-preset-es2015?--save-dev #因?yàn)槭情_(kāi)發(fā)測(cè)試環(huán)境,就加了dev,各自根據(jù)需要更改保存參數(shù)
- 沒(méi)錯(cuò),因?yàn)榘姹鞠嗳輪?wèn)題,最新的8.x版本babel-loader讀取babel-core發(fā)生了改變,因此我們要安裝對(duì)應(yīng)匹配的版本:
#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版本:
- 建立babel工具的設(shè)定檔:
.babelrc
,設(shè)定轉(zhuǎn)碼規(guī)則
{ ????"presets":?[ ????????"es2015" ????],? ????"plugins":?[] }
- webpack.config.js設(shè)定打包規(guī)則:
module:?{ ????rules:?[{ ????????test:?/\.js$/, ????????use:?'babel-loader', ????????exclude:?/node_modules/ ????}] }
- webpack執(zhí)行,產(chǎn)生test.html
#瀏覽器的效果:
Chrome
IE
#程式碼成功在IE上運(yùn)行了
我們?cè)賮?lái)看看打包轉(zhuǎn)換成的es5長(zhǎng)啥樣
#es6轉(zhuǎn)es5到此結(jié)束。
【相關(guān)推薦:javascript影片教學(xué)、程式設(shè)計(jì)影片】
以上是webpack怎麼將es6轉(zhuǎn)成es5的模組的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

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

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

WebSocket與JavaScript:實(shí)現(xiàn)即時(shí)監(jiān)控系統(tǒng)的關(guān)鍵技術(shù)引言:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,即時(shí)監(jiān)控系統(tǒng)在各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。而實(shí)現(xiàn)即時(shí)監(jiān)控的關(guān)鍵技術(shù)之一就是WebSocket與JavaScript的結(jié)合使用。本文將介紹WebSocket與JavaScript在即時(shí)監(jiān)控系統(tǒng)中的應(yīng)用,並給出程式碼範(fàn)例,詳細(xì)解釋其實(shí)作原理。一、WebSocket技

如何使用WebSocket和JavaScript實(shí)現(xiàn)線上語(yǔ)音辨識(shí)系統(tǒng)引言:隨著科技的不斷發(fā)展,語(yǔ)音辨識(shí)技術(shù)已成為了人工智慧領(lǐng)域的重要組成部分。而基於WebSocket和JavaScript實(shí)現(xiàn)的線上語(yǔ)音辨識(shí)系統(tǒng),具備了低延遲、即時(shí)性和跨平臺(tái)的特點(diǎn),成為了廣泛應(yīng)用的解決方案。本文將介紹如何使用WebSocket和JavaScript來(lái)實(shí)現(xiàn)線上語(yǔ)音辨識(shí)系

如何利用JavaScript和WebSocket實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng)介紹:隨著網(wǎng)路的普及和技術(shù)的進(jìn)步,越來(lái)越多的餐廳開(kāi)始提供線上點(diǎn)餐服務(wù)。為了實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng),我們可以利用JavaScript和WebSocket技術(shù)。 WebSocket是一種基於TCP協(xié)定的全雙工通訊協(xié)議,可實(shí)現(xiàn)客戶(hù)端與伺服器的即時(shí)雙向通訊。在即時(shí)線上點(diǎn)餐系統(tǒng)中,當(dāng)使用者選擇菜餚並下訂單

JavaScript和WebSocket:打造高效的即時(shí)天氣預(yù)報(bào)系統(tǒng)引言:如今,天氣預(yù)報(bào)的準(zhǔn)確性對(duì)於日常生活以及決策制定具有重要意義。隨著技術(shù)的發(fā)展,我們可以透過(guò)即時(shí)獲取天氣數(shù)據(jù)來(lái)提供更準(zhǔn)確可靠的天氣預(yù)報(bào)。在本文中,我們將學(xué)習(xí)如何使用JavaScript和WebSocket技術(shù),來(lái)建立一個(gè)高效的即時(shí)天氣預(yù)報(bào)系統(tǒng)。本文將透過(guò)具體的程式碼範(fàn)例來(lái)展示實(shí)現(xiàn)的過(guò)程。 We

如何使用WebSocket和JavaScript實(shí)現(xiàn)線上預(yù)約系統(tǒng)在當(dāng)今數(shù)位化的時(shí)代,越來(lái)越多的業(yè)務(wù)和服務(wù)都需要提供線上預(yù)約功能。而實(shí)現(xiàn)一個(gè)高效、即時(shí)的線上預(yù)約系統(tǒng)是至關(guān)重要的。本文將介紹如何使用WebSocket和JavaScript來(lái)實(shí)作一個(gè)線上預(yù)約系統(tǒng),並提供具體的程式碼範(fàn)例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進(jìn)行全雙工

JavaScript教學(xué):如何取得HTTP狀態(tài)碼,需要具體程式碼範(fàn)例前言:在Web開(kāi)發(fā)中,經(jīng)常會(huì)涉及到與伺服器進(jìn)行資料互動(dòng)的場(chǎng)景。在與伺服器進(jìn)行通訊時(shí),我們經(jīng)常需要取得傳回的HTTP狀態(tài)碼來(lái)判斷操作是否成功,並根據(jù)不同的狀態(tài)碼來(lái)進(jìn)行對(duì)應(yīng)的處理。本篇文章將教你如何使用JavaScript來(lái)取得HTTP狀態(tài)碼,並提供一些實(shí)用的程式碼範(fàn)例。使用XMLHttpRequest

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

JavaScript中的HTTP狀態(tài)碼取得方法簡(jiǎn)介:在進(jìn)行前端開(kāi)發(fā)中,我們常常需要處理與後端介面的交互,而HTTP狀態(tài)碼就是其中非常重要的一部分。了解並取得HTTP狀態(tài)碼有助於我們更好地處理介面?zhèn)骰氐馁Y料。本文將介紹使用JavaScript取得HTTP狀態(tài)碼的方法,並提供具體程式碼範(fàn)例。一、什麼是HTTP狀態(tài)碼HTTP狀態(tài)碼是指當(dāng)瀏覽器向伺服器發(fā)起請(qǐng)求時(shí),服務(wù)
