设置 tsconfig.json 目标会中断路径

Setting tsconfig.json target breaks paths

这是我的导入

import { test } from "test";

这些设置将正确导入,但缺少现代 TS 功能

//tsconfig.json
{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "test": ["../test"]
        }
    },
}

根本不导入这些设置

//tsconfig.json
{
    "target": "ESNext",  // added a target
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "test": ["../test"]
        }
    },
}

如果我测试通过,它似乎对 ES5 和 ES6 及更高版本的路径按预期工作,它们不工作,也没有给出任何有意义的错误。


这是怎么回事?为什么路径在较新的目标中不一样?发生了什么变化,我应该怎么做?

"moduleResolution": "node" 必须添加路径才能在 ES6 及更高版本中工作

//tsconfig.json
{
    "target": "ESNext",  // added a target
    "compilerOptions": {
        "baseUrl": ".",
        "moduleResolution": "node"
        "paths": {
            "test": ["../test"]
        }
    },
}

如果不包含目标,则默认为 ES5。