vue-cli-service test:unit运行时扩展运算符...报Unexpected token错误如何解决
修复方案
该报错是单元测试运行环境的Babel配置未正确转译ES6扩展运算符导致,可按照以下步骤修复:
- 第一步:对齐依赖版本,安装缺失的转译插件
执行以下命令升级版本不匹配的@vue/cli-plugin-babel,同时安装扩展运算符转译插件:
npm install @babel/plugin-proposal-object-rest-spread @vue/cli-plugin-babel@^4.5.9 --save-dev
如果后续仍有版本兼容问题,可卸载项目中老旧的Babel 6依赖避免冲突:
npm uninstall babel-cli babel-plugin-transform-runtime --save-dev
- 第二步:修改Babel配置
在项目根目录的babel.config.js(或.babelrc)中添加对应插件配置:
// babel.config.js 示例 module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ '@babel/plugin-proposal-object-rest-spread' ] }
- 第三步:(可选)调整Jest转译忽略规则
如果报错来源于node_modules中的第三方依赖,可在vue.config.js中修改Jest配置,将对应依赖排除在转译忽略列表外:
module.exports = { pluginOptions: { jest: { transformIgnorePatterns: [ '/node_modules/(?!需要转译的依赖包名)/' ] } } }
- 第四步:清理缓存重新运行测试
先清理Jest缓存避免旧构建产物影响:
npx vue-cli-service test:unit --clearCache
再执行原测试命令即可:
vue-cli-service test:unit src/**/*.spec.js
内容的提问来源于stack exchange,提问作者khofaai
相关产品推荐
相关产品推荐

