babel-loader配置

webpack中,一般需要使用babel進(jìn)行代碼轉(zhuǎn)譯。首先安裝以下babel相關(guān)的npm包:

npm i -D babel-loader @babel/core @babel/preset-env

然后在module.rules 里面配置:

{
        test: /\.js$/i,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        } 
      }

此時(shí),可以進(jìn)行大部分es6代碼轉(zhuǎn)換,比如箭頭函數(shù),但async/await依然不能轉(zhuǎn)換??刂婆_(tái)報(bào)錯(cuò)如下:

Uncaught ReferenceError: regeneratorRuntime is not defined
    at _hello (hello.js:10:16)
    at hello (hello.js:10:16)
    at Object../src/hello.js (hello.js:15:1)
    at __webpack_require__ (bootstrap:24:1)
    at fn (hot module replacement:62:1)
    at Module../src/main.js (hello.js:15:6)
    at __webpack_require__ (bootstrap:24:1)
    at startup:6:1
    at startup:6:1

支持async/await

繼續(xù)安裝以下npm包

npm i -D @babel/runtime
npm i -D @babel/plugin-transform-runtime

繼續(xù)添加配置:

      {
        test: /\.js$/i,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
            plugins: [
              ['@babel/plugin-transform-runtime']
            ]
          }
        } 
      }

ok, async/await就可以轉(zhuǎn)譯了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容