【问题标题】:How to import angular 6 library into other library angular 6 library?如何将 angular 6 库导入其他库 angular 6 库?
【发布时间】:2019-03-24 07:18:04
【问题描述】:

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

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

【问题讨论】:

标签: angular angular6 angular-library


【解决方案1】:

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

示例:如果您通过 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 文件)(如果两者都在同一个存储库中)也可以工作,但这不是最好的方法。

【讨论】:

    【解决方案2】:

    您应该在库的 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 节点已经存在。

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

    【讨论】:

    • 欢迎您!如果有帮助,请采纳答案。
    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 2019-04-23
    • 2018-11-19
    • 2018-12-14
    • 2019-04-03
    • 1970-01-01
    • 2019-02-17
    • 2018-11-26
    相关资源
    最近更新 更多