IntelliJ和AngularCLI 6-通过程序包名称导入库

时间:2018-07-06 22:18:20

标签: angular intellij-idea angular-cli webstorm angular-cli-v6

我有一个Angular CLI 6项目,其中包含2个组件:

  • 具有服务/组件的库
  • 使用此库的项目

当我要在前端项目中使用库时,应使用例如:

import { SomeLibModule } from "some-lib";

相反,使用IntelliJ时,当我使用自动导入功能(即,我输入SomeLibModule并按Alt + Enter)时,指定的导入是:

import {SomeLibModule} from '../../projects/some-lib/src/lib/some-lib.module';

如何更改此行为,以便使用其包名称来首选导入?

这里有一个简单的存储库来重现此行为:https://github.com/lbar/ngcli-with-lib(库导入位于app.module.ts中)。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以尝试向tsconfig.json添加一个路径映射:

"paths": {
      "some-lib": [
        "dist/some-lib",
        "projects/some-lib/src/lib/some-lib.module"
      ],
      "some-lib/*": [
        "dist/some-lib/*"
      ]
    }