Angular 6多个库的交叉依赖性

时间:2018-07-08 16:43:45

标签: angular shared-libraries angular6

我在angular 6中安装了多个库,我需要在另一个库中导入一个库。他们彼此依赖,但没有用

这是怎么回事:

ng generate library lib1

ng generate library lib2

现在在主应用程序的package.json中,我在tsconfig.json的{​​{1}}中添加了库(它们会自动插入)

compilerOptions

(我将生成它们的路径修改为"paths": { "lib1": ["../distPack/lib1"], "lib2": ["../distPack/lib2"] }

我可以将它们导入distPack中,并且一切正常

app.module

问题

我想: import { Lib1Module } from 'lib1'中的import { Lib1Module } from 'lib1'

并且找不到它。

我尝试过的:

  1. lib2/src/lib/lib2.module.ts
  2. 将其作为peerDependency添加到tsconfig.lib
  3. 将其包括为直接路径(在--prod构建中失败)

更新

如果我将主paths中的路径构建为

tsconfig.json

其他库可以毫无问题地导入它,它不再可以在"paths": { "lib1": [ "dist/lib1" ],

中导入

1 个答案:

答案 0 :(得分:2)

  

我要:从“ lib1”中导入{Lib1Module}   lib2 / src / lib / lib2.module.ts

     

而且找不到它。

基于此,当您在模块中导入库时,它将在node_modules中的同一目录中搜索它。

因此,如果要在lib2中包含libr1,则应转到lib2目录并在该目录中安装lib1。

希望对您有所帮助,如果不是您的答案,请告诉我有关您的问题的更多信息