npm run build 时出现语法报错 Module parse failed: Unexpected token

错误原因

出现这个错误一般是你使用了或者引用的包里出现了ES6的语法,但是你的webpack可能是4.x或者更低版本的,

这时候单靠webpack本身无法识别ES6的语法,但是升级webpack到5可能会与现有的代码产生兼容性问题,因此就需要引入babel插件,将ES6的语法进行转换。

常见ES6语法有 ??、??=、?.、?: 等等。

复制代码
Module parse failed: Unexpected token (46:45)
You may need an appropriate loader to handle this file type,
 currently no loaders are configured to process this file

引入插件

执行一下三个命令,注意如果出错,请去npm官网找到最高的兼容webpack4的版本安装即可。

复制代码
npm install @babel/core
npm install babel-loader@8.3.0
npm install @babel/preset-env

配置babel-loader

在webpack.base.conf.js中添加如下内容

复制代码
{
  test: /\.js$/,
     use: {
         loader: 'babel-loader',
         options: {
             // 使用 Babel 中的 @babel/preset-env 预设
             presets: [
                 '@babel/preset-env',
             ]
         }
     }
 }

结果

此时重新 npm run build 应该就好了,但是请注意,为了保险点,最好手动把之前的dist目录删除,避免缓存问题导致build后运行还是出错。

相关推荐
神秘的猪头6 分钟前
🧠 深入理解 JavaScript Promise 与 `Promise.all`:从原型链到异步编程实战
前端·javascript·面试
白兰地空瓶7 分钟前
从「似懂非懂」到「了如指掌」:Promise 与原型链全维度拆解
前端·javascript
麦麦在写代码8 分钟前
前端学习5
前端·学习
YF021128 分钟前
Frida for MacBook/Android 安装配置
android·前端
狂炫冰美式1 小时前
3天,1人,从0到付费产品:AI时代个人开发者的生存指南
前端·人工智能·后端
一千柯橘1 小时前
从摄影新手到三维光影师:Three.js 核心要素的故事
前端·three.js
南囝coding1 小时前
2025年CSS新特性大盘点
前端·css
c***V3231 小时前
前端框架对比:10个主流框架优缺点分析
前端·前端框架
栀秋6661 小时前
当我把 proto 打印出来那一刻,我懂了JS的原型链
前端·javascript
Cassie燁2 小时前
element-plus源码解读1——useNamespace
前端·vue.js