日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

webpack与babel的深奥,渣渣的我只能做个小笔记(持续更新)

發(fā)布時(shí)間:2024/4/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webpack与babel的深奥,渣渣的我只能做个小笔记(持续更新) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近公司封裝的構(gòu)建庫(kù)用多了,感覺(jué)自己正在一步一步的變傻,所以趁還沒(méi)下雪,手腳還沒(méi)長(zhǎng)凍瘡,沒(méi)事還是自己折騰一下吧。
本想記筆記,但沒(méi)想到記筆記沒(méi)法傳圖片。所以如果你看到了,就忽略了吧。o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o

思來(lái)想去,我入門webpack已經(jīng)好多年了,以前寫到過(guò)一篇:webpack再入門,說(shuō)一下那些不入流的知識(shí)點(diǎn),但從沒(méi)深入過(guò),希望這次能堅(jiān)持下去,將webpack與babel好好深入一番。

webpack4官網(wǎng):地址
babel官網(wǎng): 地址

webpack相關(guān)

  • 1.

在項(xiàng)目中,嘗試著用antd的組件,然后引入了antd的css樣式,然后報(bào)了個(gè)如下的錯(cuò),這種錯(cuò)誤拋出來(lái),簡(jiǎn)直讓你懷疑人生,因?yàn)槟憔驮趈s中寫了一句 import 'antd/dist/antd.css'。天天都在用的模式,怎么,怎么就報(bào)錯(cuò)了呢?

原因:自己在loader里配上了各種高大上的loader,什么sass,less,file,但是就是沒(méi)有配css(哭暈在廁所)
解決辦法:加上唄。

敲黑板: loader順序與解析值得關(guān)注,loader的編譯順序是從右往左依次執(zhí)行,以less類型為例,當(dāng)編譯器遇到a.less時(shí),先通過(guò)less-loader將a.less編譯為一個(gè)一個(gè)的css模塊,然后再通過(guò)css-loader將其整合為一個(gè)css模塊(懷疑中,還需要探索)。但是還需要一個(gè)地方去引入這個(gè)css,一般前面緊跟style-loader,但這個(gè)loader會(huì)把整個(gè)css通過(guò)style標(biāo)簽注入到HTML中,和這個(gè)時(shí)代主流有點(diǎn)不符合。所以這里我用了MiniCssExtractPlugin這個(gè)插件,它的作用是將css作為一個(gè)文件通過(guò)link標(biāo)簽引入。

  • 2.

webpack4.27.1的文檔中提到了公共代碼分離提到了webpack.optimize.CommonsChunkPlugin,但是添加了運(yùn)行后報(bào)錯(cuò):
webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead
原因: 官方文檔有一點(diǎn)滯后,需要修正吧,索性官方還是提供了splitChunks的使用說(shuō)明,
解決辦法:照著文檔慢慢整吧。不過(guò)我發(fā)現(xiàn)里面的知識(shí)點(diǎn)還是挺多的,什么aysnc,initial,all這幾個(gè)的區(qū)別。

Babel篇

  • 1.

同一臺(tái)電腦,webpack-dev-server在同一個(gè)端口啟動(dòng)第二個(gè)服務(wù),會(huì)報(bào):Error: listen EADDRINUSE xxxx端口錯(cuò)誤

解決辦法:可以在啟動(dòng)服務(wù)器,使用net庫(kù)檢測(cè)該端口是否已經(jīng)被占用。

  • 2.

使用了對(duì)象展開(kāi)運(yùn)算符,Babel編譯報(bào)Unexpected token,如圖:


原因:babel只配置了env,ES6中提出了展開(kāi)運(yùn)算符,但這個(gè)展開(kāi)僅僅對(duì)數(shù)組展開(kāi)(es2015-spread),而對(duì)象展開(kāi)(object-rest-spread)現(xiàn)在還只是一個(gè)提案。
解決辦法: 安裝(babel-plugin-transform-object-rest-spread)并在babelrc添加"plugins": [ "transform-object-rest-spread" ]

  • 3.

babel加了個(gè)支持async await的插件后報(bào)錯(cuò)TypeError: Falsy value found in plugins。baben 配置如下:


原因: .babelrc中plugins中的空字符串去掉(讓人哭笑不得o(╥﹏╥)o的錯(cuò)誤)
解決辦法:去掉空字符串

-4.
想用一些超級(jí)語(yǔ)法,那就是必然會(huì)付出代價(jià)。接著上面async await講,雖然加了插件編譯成功,但在運(yùn)行時(shí),會(huì)報(bào): ReferenceError: regeneratorRuntime is not defined。具體試驗(yàn)代碼如下所示:

async function async1() {console.log('async1 start');await async2();console.log('async1 end');}async function async2() {console.log('async2');}async1();

原因:雖然chrome是支持es6語(yǔ)法的,但babel-preset-env并不是支持所有es6語(yǔ)法的編譯。也就是說(shuō)問(wèn)題并不是出在async await語(yǔ)法的編譯上(transform-async-to-generator),而是錯(cuò)在env沒(méi)有對(duì)生成器語(yǔ)法的支持。如果有疑問(wèn),可以直接拷貝下列代碼到瀏覽器中運(yùn)行:

function* create() {let fir = yield 1;let sec = yield fir + 2;yield sec;}const iter = create();console.log(iter.next());

所以我們還需要增加babel對(duì)生成器語(yǔ)法的支持,就是加上babel-plugin-transform-runtime這個(gè)插件就ok了。
解決方法:安裝babel-plugin-transform-runtime插件,并在.babelrc中plugins中的transform-async-to-generator之后加上transform-runtime支持。

敲黑板: .babelrc配置中的Plugin/Preset排序,官方說(shuō)的很清楚了,我覺(jué)得我沒(méi)有必要再扯犢子了,看圖:


后面再加一句:我在babel上對(duì)這個(gè)排序還有點(diǎn)疑惑,因?yàn)槲艺{(diào)整了順序,并沒(méi)有什么影響。o(╥﹏╥)o
-5.
‘The decorators plugin requires a decoratorsBeforeExport option’,裝了個(gè)babel7,然后用箭頭函數(shù)在react中聲明了一個(gè)靜態(tài)方法,然后曝出了上面所示的錯(cuò)誤,這確實(shí)是專屬于babel 7的,
解決方法:如上圖所示,加配置legacy: true

總結(jié)

以上是生活随笔為你收集整理的webpack与babel的深奥,渣渣的我只能做个小笔记(持续更新)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻丰满熟妇精品区 | 水果视频污 | 美女脱了裤子让男人捅 | 亚洲专区免费 | 韩国伦理片免费看 | 日韩av片在线免费观看 | 又黄又色的网站 | 五色天婷婷 | 超碰97在线播放 | 日日夜夜免费视频 | 色婷婷综合久久久久中文字幕 | 91毛片视频 | 99热99精品| 96国产视频 | 亚洲视频综合 | 福利社区一区二区 | 色偷偷av男人的天堂 | 国产精品区在线观看 | 超爽视频 | 91香蕉视频污污 | 一区二区三区中文视频 | 国产3页 | 综合热久久 | 国产第一页精品 | 青草视频免费看 | 女性裸体下面张开 | 国产精品羞羞答答在线观看 | 成人传媒 | 波多野结衣视频在线播放 | 狠狠干狠狠干狠狠干 | 91精品视频在线 | 亚洲精品免费视频 | 在线不欧美 | 无码人妻丰满熟妇区bbbbxxxx | 成人毛片在线观看 | 美女扒开让男人桶爽 | 99在线无码精品入口 | 日韩精品一卡二卡 | 国产精品一区二区入口九绯色 | 国语对白精彩对话 | 欧美日韩国产高清视频 | 国产综合婷婷 | 日本精品一区二区三区视频 | 欧美黑人欧美精品刺激 | 性生活视频播放 | 免费大片黄在线观看 | 中文字幕乱码中文乱码b站 国产一区二区三区在线观看视频 | 成人看| 黄频网站在线观看 | 看片久久 | 精品动漫一区二区三区 | 国产在线美女 | 亚洲欧美另类日本 | 国产高清免费观看 | 成年人午夜免费视频 | 三级视频网站 | 精品一区二区三区无码按摩 | 婷婷色基地| 日韩第1页 | 亚洲专区中文字幕 | 久草久操| 激情五月婷婷小说 | 国产精品秘入口18禁麻豆免会员 | 久久久久久国产精品一区 | 日本女优网址 | 青青草这里只有精品 | 日本高清视频免费看 | 成人免费一区二区三区在线观看 | 欧美在线导航 | 亚洲五月婷婷 | 亚洲网视频| 大咪咪dvd| 久久久久久久毛片 | 久草资源在线 | 人人干人人做 | 久久人妻少妇嫩草av无码专区 | 中文在线视频观看 | 日韩123| 丰满少妇一区二区三区 | 成年人看的黄色片 | 色校园| 男人的天堂毛片 | 久久综合在线 | 亚洲av第一成肉网 | 国产精品嫩草影院桃色 | 久久国产精品一区二区三区 | 日韩精品久久久 | 男人深夜影院 | 亚洲国产精品99久久 | av男人的天堂网 | 三年中文免费观看大全动漫 | 炕上如狼似虎的呻吟声 | 天天综合人人 | 麻豆视频在线看 | 国产美女裸体无遮挡免费视频 | 理论片在线观看理伦片 | 一区二区三区免费视频观看 | 精品一区二区三区免费毛片 | 四级黄色片 |