首页 > 解决方案 > 如果 tsConfig 目标为 ESNext、ES2021 或 ES2020,则 ts-jest 可选链接不起作用

问题描述

当我尝试将 tsConfig 目标设置为 ESNext、ES2021 或 ES2020 时,可选链接会产生问题。但是当我将目标设置为ES2019时工作正常。不知道我做错了什么。

下面是我的笑话配置的外观:

{
    ...,
    transform: {
        '^.+\\.(ts|tsx)$': 'ts-jest',
    },
    globals: {
        'ts-jest': {
        tsConfig: {
            target: 'ES2019',
        },
    },
}

标签: node.jsreactjstypescriptjestjsts-jest

解决方案


这是描述完整问题的评论链接

Jest 使用 JS DOM 来渲染组件并在其中运行测试用例。

JS DOM 内部使用 Node JS 来执行上述过程。

在 ES2019 之后,条件链接默认添加到 ECMAScript 中,因此它不会转换为通常的三元条件。但是 Node JS 默认还不支持条件链。因此,在使用 ES2019 作为目标时,它会在 React App 和 Jest 上进行转换和工作,并且在 ES2019 之后设置目​​标时,jest 会为条件链接抛出错误,因为它不会被 Node js 识别


推荐阅读