詳解webpack babel的配置
Babel是什么
Babel是一個(gè)編譯JavaScript的平臺(tái),它的強(qiáng)大之處表現(xiàn)在可以通過(guò)編譯幫你達(dá)到:
- 使用下一代的javascript(ES6,ES7,……)代碼,即使當(dāng)前瀏覽器沒(méi)有完成支持;
- 使用基于JavvScript進(jìn)行擴(kuò)展語(yǔ)言,比如React的JSX;
npm i babel-core babel-preset-env babel-loader babel-plugin-transform-runtime babel-preset-stage-2 -D
關(guān)于babel的使用
首先 babel-preset-es2015 已經(jīng)廢棄,你可以使用 babel-preset-env 來(lái)代替它,后者比前者更好的更方便,這里不在贅述。
babel-polyfill VS babel-runtime VS babel-plugin-transform-runtime
- 首先 babel-polyfill 是對(duì)所有的API進(jìn)行全局設(shè)置。并且會(huì)污染全局變量。
- babel-runtime 需要對(duì)你需要的API,如:Object.assign()。會(huì)先require()
- babel-plugin-transform-runtime 最推薦。它不需要require()也不會(huì)全局污染,并且,更厲害的是它是按需打包,全自動(dòng)。
開始
/**** webpack.config.js ****/ // 在規(guī)則中增加 { test: /\.js$/, use: 'babel-loader', // 只處理src目錄下面的。 // 你也可以配置一條規(guī)則處理node_modules下面的。 // 我記得swiper不知道哪一版本的直接把原來(lái)為編譯的es6的語(yǔ)法塞給我,導(dǎo)致瀏覽器不兼容。 include:[resolve('../src')] } /**** .babelrc ****/ // presets字段設(shè)定轉(zhuǎn)碼規(guī)則 { "presets": [ ["env", { "modules": false, // 需要支持的環(huán)境,可選入: chrome, edge, 也可以node:6.5 ,node:current...... "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], // babel-transform-plugin轉(zhuǎn)碼預(yù)設(shè)不起作用的內(nèi)容如:Object.assign()等等 "plugins": ["transform-runtime"] }
presets能夠解決哪些語(yǔ)法。 package
babel-plugin-transform-runtime能夠解決哪些語(yǔ)法。 package
其他。 更多
最后:babel看上去好像要配置很多,其實(shí)經(jīng)過(guò)官方的一頓簡(jiǎn)化之后需要的并沒(méi)有那么繁瑣。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序點(diǎn)擊view動(dòng)態(tài)添加樣式過(guò)程解析
這篇文章主要介紹了微信小程序點(diǎn)擊view動(dòng)態(tài)添加樣式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01微信小程序?qū)崿F(xiàn)側(cè)邊欄二級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊欄二級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07JavaScript實(shí)現(xiàn)同步于本地時(shí)間的動(dòng)態(tài)時(shí)間顯示方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)同步于本地時(shí)間的動(dòng)態(tài)時(shí)間顯示方法,實(shí)例分析了javascript獲取本地時(shí)間及動(dòng)態(tài)顯示的技巧,并對(duì)實(shí)現(xiàn)代碼進(jìn)行了較為詳盡的分析說(shuō)明,需要的朋友可以參考下2015-02-02javascript foreach中如何獲取數(shù)組下標(biāo)/index
這篇文章主要介紹了javascript foreach中如何獲取數(shù)組下標(biāo)/index問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07JS module的導(dǎo)出和導(dǎo)入的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS module的導(dǎo)出和導(dǎo)入的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02全面解析Bootstrap中tooltip、popover的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中tooltip、popover的使用方法,了解提示框、彈出框的實(shí)現(xiàn)原理,感興趣的朋友可以參考一下2016-06-06微信小程序返回到頂部功能的簡(jiǎn)單實(shí)現(xiàn)
在做微信小程序開發(fā)時(shí),遇到一個(gè)問(wèn)題,要如何實(shí)現(xiàn)返回頂部的功能,下面這篇文章主要給大家介紹了微信小程序返回到頂部功能的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11