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后运行还是出错。

相关推荐
六月June June3 小时前
自定义调色盘组件
前端·javascript·调色盘
SY_FC4 小时前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
糟糕好吃4 小时前
我让 AI 操作网页之后,开始不想点按钮了
前端·javascript·后端
陈天伟教授4 小时前
人工智能应用- 天文学家的助手:08. 星系定位与分类
前端·javascript·数据库·人工智能·机器学习
VaJoy4 小时前
给到夯!前端工具链新标杆 Vite Plus 初探
前端·vite
小彭努力中5 小时前
191.Vue3 + OpenLayers 实战:可控化版权信息(Attribution)详解与完整示例
前端·javascript·vue.js·#地图开发·#cesium
奇舞精选5 小时前
用去年 github 最火的 n8n 快速实现自动化推送工具
前端·agent
奇舞精选6 小时前
实践:如何为智能体推理引入外部决策步骤
前端·agent
无限大66 小时前
AI实战02:一个万能提示词模板,搞定90%的文案/设计/分析需求
前端·后端
朝阳5816 小时前
控制 Nuxt 页面的渲染模式:客户端 vs 服务端渲染
前端·javascript