如何将angular 6库导入其他库angular 6库?

时间:2018-10-19 11:41:40

标签: angular angular6 angular-library

我已经创建了共享库并创建了新的应用程序功能库,我想在应用程序功能库中导入共享库。

如何将一个库导入或包含到另一个库中?

2 个答案:

答案 0 :(得分:2)

最好的方法是将共享库用作应用程序库中的节点依赖项。

示例:如果您通过npm命令创建共享库,如下所示:

ng generate library sharedlib

然后使用以下命令构建共享库并在任何公共(npmjs)或私有(您的组织特定于JFrog)的人工制品中发布

npm publish sharedlib 

并在应用程序库中将其用作依赖项(添加到package.json中)

"peerDependencies": {
    "@angular/common": "^7.2.0",
    "@angular/core": "^7.2.0",
    "sharedlib": "1.0.0"
}

我相信将共享库模块(从public-api.ts文件)导入应用程序库(如果两者都在同一个存储库中)也可以,但是这不是最好的方法。

答案 1 :(得分:0)

您应该在库的package.json中添加任何用作peerDependencies的库。像这样:

"peerDependencies": {
    "@angular/common": "^6.0.0-rc.0 || ^6.0.0",
    "@angular/core": "^6.0.0-rc.0 || ^6.0.0",
    "@angular/forms": "^6.0.0",
    "@angular/material": "^6.4.7"
}

假设您已经使用带有ng generate library my-library的cli创建了库,则 peerDependencies 节点已经存在。

如果您的图书馆用户也使用其他图书馆,这将避免任何冲突。