错误原因
出现这个错误一般是你使用了或者引用的包里出现了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后运行还是出错。