【问题标题】:VSCode import ignoring symlinks in favour of deeper node_modulesVSCode 导入忽略符号链接以支持更深的 node_modules
【发布时间】:2021-10-19 06:22:09
【问题描述】:

我在使用 VSCode/TS 和自动导入时遇到问题。

我们有一项服务,我们称它为 Manager。 Manager 从一个名为 Helpers 的私有 npm 包中导入一些功能。 Manager 和 Helpers 都从另一个名为 Types 的私有包中导入类型。

在本地工作时,我添加到 Types,然后在 Manager 中添加 npm 链接类型以访问新类型,而无需发布 Types 包(在以前的代码库上完成了此操作,没有任何问题,效果很好)

输入问题...一旦符号链接import { newType } from '@companyName/Types' 的语句实际上会解析为node_modules/@companyName/Helpers/node_modules/Types,我再多说也不会劝阻它。

我认为这是一个 VSCode 问题,但是如果我重新启动 Typescript 服务器,则会出现一个简短的窗口,它默认为正确的包路径,并且 VSCode 可以看到类型。几秒钟后(我假设一旦 TS 服务器恢复)它显示一个错误,我们又从错误的地方导入。

我可以通过对 node_modules 的相对导入来解决这个问题,但这感觉不太理想。

有人知道这里可能出了什么问题吗?就像 TS 不想使用符号链接的导入,如果它可以在没有符号链接的地方找到它

【问题讨论】:

    标签: typescript npm visual-studio-code


    【解决方案1】:

    找到解决方案,将其添加到 tsconfig 排序它:

    "paths": {
          "@companyName/types": [
              "../node_modules/@companyName/types"
          ]
        },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 2016-09-05
      相关资源
      最近更新 更多