gpt4 book ai didi

angular - 创建一个 Angular 库并在我的 Angular 项目中本地使用它

转载 作者:行者123 更新时间:2023-12-02 00:10:08 31 4
gpt4 key购买 nike

我正在尝试使用 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 创建了我的 Angular 项目,并使用 ng add @angular/material 添加了 Angular Material 依赖项

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

我打算创建大约 15 个公共(public)库以供使用和发布。这是这样做的方法吗?只是为每一个做 ng generate library 吗?

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

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

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

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

我能做的是 从 'tuxin-ec/dist/animated-images' 导入 {AnimatedImagesModule}

但即便如此,当我尝试在我的项目中导入 AnimatedImagesModule 时,我仍会收到错误消息,指出 class AnimatedImagesModule is not an angular module

有什么方法可以实现我的预期结果吗?

谢谢!

最佳答案

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

然后我明白我没有链接我的整个项目,我链接了特定的模块,这实际上很有意义:)

所以在 dist/animated-images 目录中我应该执行 npm link 然后在我的项目中我应该执行 npm link animated-images。就是这样!非常简单!

关于angular - 创建一个 Angular 库并在我的 Angular 项目中本地使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353344/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com