首页 > 解决方案 > Angular 库依赖暴露

问题描述

在开发 Angular 库时,如何隐藏我的内部依赖项?

即在开发我的库时,我这样做了:

yarn add moment-es6

但是,这应该只是一个内部依赖项——我不想强制使用我的库的项目也有moment-es6. 这可能吗?

PS:我正在关注这个:https ://angular.io/guide/creating-libraries

标签: angularnpmangular-library

解决方案


当您构建库并安装在项目中时,它没有单独的 node-modules 文件夹。库的依赖项必须存在于项目节点模块中。所以我认为你不能隐藏内部依赖。

就像,如果一个 npm 包使用了 jquery,我们必须安装 jquery 以及主包。

示例Angular Datatable它具有 bootstrap@4.0.0 的内部依赖关系。所以在使用它时,我们必须bootstrap@4.0.0一起安装angular7-data-table

注意:我最近开始构建库。我不是专家。


推荐阅读