【问题标题】:WebStorm does not recognize tsconfig pathsWebStorm 无法识别 tsconfig 路径
【发布时间】:2019-07-20 20:34:27
【问题描述】:

我们有一个问题,WebStorm 抱怨一些命名路径。不过,使用 webpack 一切都很好。

这是我们的文件结构:

apps
  app1
    tsconfig.e2e.json
    src
      tests
        testsuite1
          file.po.ts
libs
  lib1
    src
      index.ts
      libs

我们用于 lib 的 index.ts:

export * from './lib';

我们的 tsconfig.e2e.json 中的路径:

{
  "compilerOptions": {
    ...
    "paths": {
      "@a/lib1": ["../../libs/lib1/src"],
    }
  }
}

我们的导入在 file.po.ts 中被标记为在 WebStorm 中找不到

import { Mo } from '@a/lib1';

我们已经在 WebStorm 中启用了 TypeScript 语言服务,并且其他一些类似的导入正在运行。我们是 TypeScript 和 WebStorm 的新手,所以也许我们遗漏了一些东西。

【问题讨论】:

  • 使用类似的设置为我工作。请分享一个可用于重新创建问题的示例项目(它可以是具有相似文件夹结构和相同 tsconfig.*.json 文件以及几个仅包含导入/导出和虚拟声明的虚拟 ts 文件的项目 - 我不需要你的专有代码)
  • 您使用什么版本的 WebStorm 以及什么操作系统?
  • WebStorm 2018.3.4(最新版本),Windows。操作系统在这里实际上并不重要。

标签: typescript import webstorm


【解决方案1】:

添加新路径后需要重启

我有同样的问题;在向 tsconfig.json 文件添加新路径后,我需要重新启动 Intellij IDEA 才能识别导入语句中的路径。

"paths": {
  "@alias/*": ["folder/*"],
},

重启后它停止用红线在路径下划线:

import { SomeFeatureModule } from '@alias/some-feature/some-feature.module';

检查路径是否相对于baseUrl

如果这不能解决问题,请控制单击实际别名以查看它是否被识别;单击应该会将您带到声明路径别名的tsconfig.json 文件。还要检查实际路径是否正确考虑了compilerOptions 配置的baseUrl 属性。路径应该相对于这个 base-url。

例如:

"baseUrl": "src",

这意味着对于上面的示例,现有文件夹实际上应该是:

src/folder/*

【讨论】:

  • 我在设置@alias 后重新启动,这没有任何问题;我添加了baseUrl,然后不得不重新启动。这是在 PhpStorm 2021.1.2 中(我相信它基于 WebStorm)。
猜你喜欢
  • 2023-03-18
  • 2020-09-08
  • 2020-01-27
  • 2018-11-20
  • 2019-01-28
  • 2014-07-18
  • 2018-05-25
  • 2016-09-11
  • 2015-04-19
相关资源
最近更新 更多