创建一个角度库并将其与我的角度项目一起在本地使用

我正在尝试使用Angular 9,我想创建一个项目,然后创建一个库项目,并开始向其中添加通用模块,这些通用模块稍后要在GitHub上发布,并在我的本地使用这些库。项目。

以下是相关的依赖项:

Angular CLI: 9.0.0-rc.6
Node: 13.3.0
OS: MacOS 10.15.2
PNPM: 4.3.0

首先,我使用ng new foo创建了我的角度项目,并使用ng add @angular/material向其添加了角度材料依赖关系

然后我用ng new tuxin-ec --create-application=false创建了我的图书馆项目 然后在其中执行ng generate library animated-images --prefix=tuxin-ec

我打算创建大约15个要使用和发布的通用库。这是这样做的方法吗?只是每个人都做ng generate library

目前在tuxin-ec项目目录中的项目下,我有animated-images包含模块,服务和控制器,我将相关代码添加到了控制器html和css。

我想在项目中本地链接tuxin-ec。 因此,我在tuxin-ec根目录下运行了pnpm linkfoo目录下,我运行了pnpm link tuxin-ec

foo目录中node_modules下,我也有tuxin-ec链接目录。

问题是我想做import {AnimatedImagesModule} from 'tuxin-ec 但它抱怨找不到tuxin-ec

我能做的是import {AnimatedImagesModule} from 'tuxin-ec/dist/animated-images'

但是即使那样,当我尝试在项目中导入AnimatedImagesModule时,也会收到错误class AnimatedImagesModule is not an angular module

有什么方法可以达到预期的效果吗?

谢谢!

tangguodeyanlei 回答:创建一个角度库并将其与我的角度项目一起在本地使用

所以我在google上搜索了一下,然后发现了以下精彩的教程:https://willtaylor.blog/complete-guide-to-angular-libraries/

在那里,我了解到我并没有链接我的整个项目,而是链接了特定的模块,实际上这很有意义:)

因此,在dist / animated-images目录中,我应该执行npm link,然后在我的项目中我应该执行npm link animated-images。而已!很简单!

本文链接:https://www.f2er.com/2914840.html

大家都在问