You need to enable JavaScript to run this app. 升级jest-preset-angular@8.3.0后报createStringLiteral未定义错误
优惠活动
大模型
产品
解决方案
定价
更多

升级jest-preset-angular@8.3.0后报createStringLiteral未定义错误

问题根因

该报错由依赖版本不兼容直接导致:jest-preset-angular@8.x 系列仅适配 ts-jest@26.x、jest@26.x 版本,你升级到ts-jest@27.x、jest@27.x后,相关API发生了非兼容变更,因此出现属性读取失败的报错。

解决方案

按照以下步骤操作即可修复:

  • 卸载现有不匹配的依赖
    执行命令:
npm uninstall jest ts-jest jest-preset-angular
  • 安装版本匹配的依赖组合
    执行命令:
npm install -D jest@26.x ts-jest@26.x jest-preset-angular@8.3.1
  • 清理缓存与残留文件,重新安装依赖
    执行命令:
# 清理jest缓存
npx jest --clearCache
# 删除旧的依赖文件与锁文件
# Mac/Linux执行:
rm -rf node_modules package-lock.json
# Windows CMD执行:
rmdir /s /q node_modules && del package-lock.json
# 重新安装依赖
npm install
  • 修正jest配置(可选,建议补充)
    在你的jest.config.js中补充transform字段,避免默认转换规则异常:
module.exports = {
  verbose: true,
  preset: 'jest-preset-angular',
  testRegex: './*\\.structural\\.test\\.ts$',
  setupFilesAfterEnv: ['./setupTests.ts'],
  // 新增transform配置
  transform: {
    '^.+\\.(ts|js|html)$': 'jest-preset-angular'
  },
  transformIgnorePatterns: ['/node_modules/'],
  globals: {
    'ts-jest': {
      tsConfig: "tsconfig.spec.json"
    }
  }
}

配置调整完成后重新运行测试命令即可正常执行。

内容的提问来源于stack exchange,提问作者r.wadera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 10:45:10