typescript monorepo“@/*”别名

jer*_*lli 6 typescript visual-studio-code lerna monorepo yarn-workspaces

我正在将我的项目转移到带有 Lerna 和纱线工作区的 monorepo。我设法设置了基本的东西,但我遇到了这个问题,并且在网上找不到类似的问题。

正如您在下图中看到的,我无法使路径别名智能感知适用于“当前”包 src。你知道我们在 tsconfig 的普通项目中这样声明的

"paths": {
    "@/*": [
        "src/*"
    ]
},
Run Code Online (Sandbox Code Playgroud)

当我直接在 vscode 中打开 packages/pro-app 文件夹时,它工作正常,但是当我打开根 monorepo 时,我遇到了这个问题

别名问题

Webpack 构建也可以正常工作

这是<root>tsconfig.json

{
    "compilerOptions": {
        "target": "esnext",
        "module": "esnext",
        "strict": true,
        "strictNullChecks": false,
        "jsx": "preserve",
        "importHelpers": true,
        "moduleResolution": "node",
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "sourceMap": true,
        "baseUrl": ".",
        "types": [
            "webpack-env",
            "jest"
        ],
        "lib": [
            "esnext",
            "dom",
            "dom.iterable",
            "scripthost"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

packages/pro-app/tsconfig.json

{
    "compilerOptions": {
        "target": "esnext",
        "module": "esnext",
        "strict": true,
        "strictNullChecks": false,
        "jsx": "preserve",
        "importHelpers": true,
        "moduleResolution": "node",
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "sourceMap": true,
        "baseUrl": ".",
        "types": [
            "webpack-env",
            "jest"
        ],
        "paths": {
            "@/*": [
                "src/*"
            ]
        },
        "lib": [
            "esnext",
            "dom",
            "dom.iterable",
            "scripthost"
        ]
    },
    "include": [
        "src/**/*.ts",
        "src/**/*.tsx",
        "src/**/*.vue",
        "tests/**/*.ts",
        "tests/**/*.tsx"
    ],
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的路径配置,但无法使其工作:/

是否仍然可以在 monorepo 中使用“@/*”别名?

或者也许我不应该在 vscode 中打开 monorepo ?公正的一包一包

谢谢