在 Angular 6 工作区中安装 NPM 包

8

我刚开始学Angular 6和CLI,并创建了以下项目:

ng new my-demo
cd my-demo
ng g library foo --prefix=my

在我的库中,我想添加ngx-bootstrap,因为组件需要DropdownButtonModule,所以我的问题是如何安装npm包以用于该库?
以前我只需要运行npm install ngx-bootstrap,但这将安装应用程序的包,然而,我需要将其安装到库中。 我应该转到库文件夹并运行npm install,还是现在使用CLI有另一种替代方法?
1个回答

11

你可以继续使用 npm install packagename

package.json 文件并不是针对工作区内的特定应用程序或库,而是针对整个 angular/cli 项目。构建过程(在后端使用 webpack)将找出实际上对于你当前的激活构建是必要的依赖关系,并删除其余的依赖。


那么当发布库时,ng会知道哪些包是必需的,并将它们捆绑在列表文件夹中,是这样工作的吗? - Neil Stevens
确切地说,您可以通过安装软件包但不将其添加到库中来确认此事。然后比较安装前后的捆绑大小。 - Jens Habegger
这个答案让我找了好久,谢谢你的解答。我找到的所有教程都没有提到这一点,我认为将包放入创建的库的package.json中是一个很自然的错误假设! - James
更正:您需要将依赖项放入两个package.json文件中。但是,您只需要在根级别运行“npm install”即可。 - James
那么,如果它毫无意义,为什么库还要有一个package.json呢? - Rick O'Shea
我想这是因为 package.json 不仅仅是用于依赖项,还用于发布。因此,工作区中的每个项目都可以有自己的 package.json,具有不同的名称、版本、作者等。 - hgoebl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接