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

如何在Jest中禁用"Use Strict"以测试含遗留八进制字面量的代码

解决Jest默认启用严格模式导致遗留八进制字面量报错的问题

Jest会默认在测试环境中启用严格模式,哪怕你的源码和package相关配置里没加任何严格模式声明,也会触发Legacy octal literals are not allowed in strict mode这个错误。

你可以通过以下几种方式强制Jest退出严格模式:

  • 修改package.json添加Jest全局配置
    在package.json里直接新增jest配置段,全局禁用严格模式:

    {
      "scripts": {
        "test": "jest"
      },
      "jest": {
        "globals": {
          "strict": false
        }
      }
    }
    
  • 通过命令行参数临时禁用
    直接修改test脚本,在jest命令后添加全局参数:

    "scripts": {
      "test": "jest --globals '{\"strict\": false}'"
    }
    

    注意:Windows环境下可能需要调整引号转义,比如把单引号换成双引号,内部双引号改成单引号:jest --globals "{'strict': false}"

  • 使用单独的jest.config.js配置文件
    如果项目里有单独的Jest配置文件,直接在其中添加globals配置:

    module.exports = {
      globals: {
        strict: false
      }
    };
    

配置完成后重新执行npm test,遗留八进制字面量的语法就能正常被解析了。

内容的提问来源于stack exchange,提问作者Christos Binos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:18:24