首页 > 解决方案 > VSCode中的模块导入路径映射而不与TypeScript配置交互?

问题描述

我正在开发一个包含多个软件包的 monorepo。

想象一下,我有两个库ab. 如果在里面b我使用导入a

import a from '@org/a'

在编译过程中,上面的路径会被 webpack(或 yarn 工作空间)解析为../a,并在其中package.json指示节点查找a/dist/index.js

在开发过程中,我想映射@org/a../a/src/index.ts以便智能感知将我发送到源文件夹而不是构建文件夹。

TypeScript 包含了我可以通过映射在里面使用的paths选项:tsconfig.jsonb

{
  "paths" {
    "@org/a": ["../a/src"]
  }
}

这在我的 IDE 中运行良好,但是,当使用 tsconfig 路径时,编译时会在其文件夹中b发出a's 类型build- 如下所示:

/src
  /a
    /build
      index.d.ts
      index.js
    index.ts
  /b
    /build
      /a
        index.d.ts
      /b
        index.d.ts
      index.js
    index.ts

为了比较,不包括里面的 tsconfig 路径配置b,这是文件夹bbuild样子:

/b
  /build
    index.d.ts
    index.js
  index.ts

使用 tsconfig 路径会导致在我的项目中包含我不想要的文件并破坏'stypes中的键bpackage.json

有没有一种方法可以手动配置 vscode 以映射导入路径,而不是查看 tsconfig 以获取该信息?

标签: typescriptvisual-studio-code

解决方案


推荐阅读