You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue中使用Jest测试用例通过但项目编译失败求助

问题排查:Vue项目集成Jest后编译失败(JSON格式错误)

从你提供的错误信息和package.json内容来看,问题根源是package.json存在JSON语法错误,具体出现在browserslist配置和jest配置的衔接位置。错误提示明确指出:Unexpected token { in JSON at position 1057 while parsing near '... 2 versions" ], { "jest": { ...',说明JSON解析器在处理browserslist数组结束后,遇到了不符合语法的{符号。

修复后的完整package.json配置

{
  "name": "weather-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "test": "jest"
  },
  "dependencies": {
    "@babel/core": "^7.7.2",
    "@vue/test-utils": "^1.0.0-beta.29",
    "babel-core": "^7.0.0-bridge.0",
    "core-js": "^3.3.2",
    "vue": "^2.6.10",
    "vuex": "^3.1.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^4.0.0",
    "@vue/cli-plugin-eslint": "^4.0.0",
    "@vue/cli-service": "^4.0.0",
    "babel-eslint": "^10.0.3",
    "babel-jest": "^24.9.0",
    "eslint": "^5.16.0",
    "eslint-plugin-vue": "^5.0.0",
    "jest": "^24.9.0",
    "vue-jest": "^3.0.5",
    "vue-template-compiler": "^2.6.10"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {
      "no-console": 0
    },
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions"
  ],
  "jest": {
    "moduleFileExtensions": [
      "js",
      "vue"
    ],
    "transform": {
      "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
      ".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
    },
    "moduleNameMapper": {
      "^@/(.*)$": "<rootDir>/src/$1"
    }
  }
}

错误原因说明

你原始的package.json因为写成一行,可能在browserslist数组结束后出现了语法错误(比如多余的符号、错误的逗号位置)。JSON语法对格式要求非常严格:

  • 所有键名必须用双引号包裹
  • 键值对之间用英文逗号分隔,最后一个键值对不能加逗号
  • 数组和对象的括号必须正确闭合
  • 不能出现多余的符号(比如额外的{或})

修复后,确保了每个配置块的结构正确,browserslist作为一个独立的键值对,后面正确衔接jest配置,没有多余的语法错误。

验证步骤

  1. 替换你的package.json为上面修复后的版本
  2. 执行npm install确保依赖正常(若之前依赖已安装完成可跳过)
  3. 重新执行npm run serve或npm run build,编译应该能正常通过
  4. 再次运行npm test,确认Jest测试依然可以正常执行

内容的提问来源于stack exchange,提问作者Naveen Kashyap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:45:40