WebStorm 无法识别 tsconfig 路径

Pab*_*mer 6 import intellij-idea webstorm typescript

我们遇到了一个问题,WebStorm 抱怨某些命名路径。不过,使用 webpack 一切都构建得很好。

这是我们的文件结构:

apps
  app1
    tsconfig.e2e.json
    src
      tests
        testsuite1
          file.po.ts
libs
  lib1
    src
      index.ts
      libs
Run Code Online (Sandbox Code Playgroud)

我们的 lib 的 index.ts:

export * from './lib';
Run Code Online (Sandbox Code Playgroud)

tsconfig.e2e.json 中的路径:

{
  "compilerOptions": {
    ...
    "paths": {
      "@a/lib1": ["../../libs/lib1/src"],
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

import { Mo } from '@a/lib1';
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*ilt 6

添加新路径后需要重启

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

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

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

import { SomeFeatureModule } from '@alias/some-feature/some-feature.module';
Run Code Online (Sandbox Code Playgroud)

检查路径是否相对于baseUrl

如果这不能解决问题,请按住 Control 单击实际别名以查看是否可以识别它;单击应该会将您带到tsconfig.json声明路径别名的文件。还要检查实际路径是否正确,考虑到配置compilerOptionsbaseUrl属性。该路径应该相对于此基本 URL。

例如:

"baseUrl": "src",
Run Code Online (Sandbox Code Playgroud)

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

src/folder/*
Run Code Online (Sandbox Code Playgroud)